From 10afa196c68d1a231f0274cff0f931e8aa840053 Mon Sep 17 00:00:00 2001 From: BuravovA Date: Thu, 27 Nov 2025 09:48:56 +0000 Subject: [PATCH] calc_super_ultra_rebuild_v2 --- calc.py | 182 +++++++++++++++++--------------------------------------- 1 file changed, 55 insertions(+), 127 deletions(-) diff --git a/calc.py b/calc.py index bf1a075..12f5a6b 100644 --- a/calc.py +++ b/calc.py @@ -1,133 +1,61 @@ -def main(): - print("Welcome to the Calculator") - command = input("Select command: [ + ] [ - ] [ * ] [ / ] \nType exit if u want exit \n") - match command: #выбор команд - case "+": - summ() - case "*": - multiplication() - case "-": - minus() - case "/": - division() - case "exit": - exit - case _: - print(KeyError("Incorrect")) - main() -def summ(total=None): - print("Enter number(s) to summ, enter spase to finish calculating") - if total is None: +def main(total=None): + print("-=+=- / Welcome ту калькулейтор \ -=+=-\nВведите exit для выхода\n") + if total == None: try: - total = float(input("Enter First number \n")) + total= float(input("Введите первое число\n")) except ValueError: - print("Enter a valid number") + print("Введите число") return while True: - num_input = input("Enter numbers to summ or change command [ + ] [ - ] [ * ] [ / ]\n") - if num_input == " " or num_input == "": - print(total) - main() - if num_input in ["+", "-", "*", "/"]: - if num_input == "+": - return summ(total) - elif num_input == "-": - return minus(total) - elif num_input == "*": - return multiplication(total) - elif num_input == "/": - return division(total) - try: - number = float(num_input) - total += number - print(f"Total summ = {total}") - except ValueError: - print("Error, enter correct number") -def minus(total=None): - print("Enter number(s) to summ, enter spase to finish calculating") - if total is None: - try: - total = float(input("Enter First number \n")) - except ValueError: - print("Enter a valid number") - return - while True: - num_input = input("Enter numbers to minus or change command [ + ] [ - ] [ * ] [ / ]\n") - if num_input == " " or num_input == "": - print(total) - main() - if num_input in ["+", "-", "*", "/"]: - if num_input == "+": - return summ(total) - elif num_input == "-": - return minus(total) - elif num_input == "*": - return multiplication(total) - elif num_input == "/": - return division(total) - try: - number = float(num_input) - total -= number - print(f"Total minus = {total}") - except ValueError: - print("Error, enter correct number") -def multiplication(total=None): - print("Enter number(s) to multuplicate, enter spase to finish calculating") - print("Enter number(s) to summ, enter spase to finish calculating") - if total is None: - try: - total = float(input("Enter First number \n")) - except ValueError: - print("Enter a valid number") - return - while True: - num_input = input("Enter numbers to multiplicate or change command [ + ] [ - ] [ * ] [ / ]\n") - if num_input == " " or num_input == "": - print(total) - main() - if num_input in ["+", "-", "*", "/"]: - if num_input == "+": - return summ(total) - elif num_input == "-": - return minus(total) - elif num_input == "*": - return multiplication(total) - elif num_input == "/": - return division(total) - try: - number = float(num_input) - total *= number - print(f"Total multiplication = {total}") - except ValueError: - print("Error, enter correct number") -def division(total=None): - print("Enter number(s) to summ, enter spase to finish calculating") - if total is None: - try: - total = float(input("Enter First number \n")) - except ValueError: - print("Enter a valid number") - return - while True: - num_input = input("Enter numbers to division or change command [ + ] [ - ] [ * ] [ / ]\n") - if num_input == " " or num_input == "": - print(total) - main() - if num_input in ["+", "-", "*", "/"]: - if num_input == "+": - return summ(total) - elif num_input == "-": - return minus(total) - elif num_input == "*": - return multiplication(total) - elif num_input == "/": - return division(total) - try: - number = float(num_input) - total /= number - print(f"Total division = {total}") - except ValueError: - print("Error, enter correct number") - + num_input = input("Введите операцию\n") + if num_input in ['' or ' ']: + print(f"Результат: {total}") + return total + match num_input: + case '+': + number = input("Введите число для суммы\n") + try: + num = float(number) + total+=num + print(f"Сумма = {total}") + main(total) + except ValueError: + print("Введите корректроное число") + main() + case "*": + number = input("Введите число для умножения\n") + try: + num = float(number) + total*=num + print(f"Умножение = {total}") + main(total) + except ValueError: + print("Введите корректроное число") + main() + case "-": + number = input("Введите число для разницы\n") + try: + num = float(number) + total-=num + print(f"Разница = {total}") + main(total) + except ValueError: + print("Введите корректроное число") + main() + case "/": + number = input("Введите делитель\n") + try: + num = float(number) + total/=num + print(f"Деление = {total}") + main(total) + except ValueError: + print("Введите корректроное число") + main() + case "exit": + exit() + case _: + main() + print("Введите число или функцию") if __name__ == "__main__": main() #запуск функции main, основа программы \ No newline at end of file