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: 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 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") if __name__ == "__main__": main() #запуск функции main, основа программы