def main(): print("Welcome to the Calculator") command = input("Select command: [ + ] [ - ] [ * ] [ / ] \nНапишите 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): #даём функции на первом запуске total = None чтобы присвоить ей значение первого введёного числа, чтобы не было -5 в минусе на первом вводе 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, основа программы