From d216f787ee588bac6404706724b612f47bd0e231 Mon Sep 17 00:00:00 2001 From: BuravovA Date: Fri, 7 Nov 2025 19:17:56 +0400 Subject: [PATCH] add command swapping --- calc.py | 95 +++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 27 deletions(-) diff --git a/calc.py b/calc.py index e6680b0..8ab52fb 100644 --- a/calc.py +++ b/calc.py @@ -15,72 +15,113 @@ def main(): case _: print(KeyError("Incorrect")) main() -def summ(): +def summ(total=None): print("Enter number(s) to summ, enter spase to finish calculating") - try: - total = float(input("Enter First number \n")) - except ValueError: - print("Enter a valid number") - return + 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 summ\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 + total += number print(f"Total summ = {total}") except ValueError: print("Error, enter correct number") -def minus(): - print("Enter number(s) to minus, enter spase to finish calculating") - try: - total = float(input("Enter First number \n")) - except ValueError: - print("Enter a valid number") - return +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\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(): +def multiplication(total=None): print("Enter number(s) to multuplicate, enter spase to finish calculating") - try: - total = float(input("Enter First number \n")) - except ValueError: - print("Enter a valid number") - return + 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\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(): - print("Enter number(s) to division, enter spase to finish calculating") - try: - total = float(input("Enter First number \n")) - except ValueError: - print("Enter a valid number") - return +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\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