Напишите калькулятор для целочисленных вычислений, который обрабатывает серию команд и выводит результат вычислений по каждой из них.
Каждая команда записывается так: сначала вводится первое число, затем символ операции, затем — при необходимости — второе число. Символы операций (гарантируется, что используются только эти символы):
«+» (сложить два числа),
«-» (вычесть из первого числа второе),
«*» (перемножить два числа),
«/» (поделить первое число на второе нацело),
«%» (получить остаток от деления первого числа на второе),
«!» (посчитать факториал от первого числа, ввод второго числа не производится),
«x» (вывести первое число и закончить выполнение программы, ввод второго числа не производится).
Если пользователь попытается взять факториал от отрицательного числа или сделать ещё что-то незаконное, то никакой результат для этой команды выводить не следует.
Формат ввода
Несколько команд в указанном в условии формате: сначала вводится первое число, затем символ операции, затем при необходимости второе число.
Формат вывода
Несколько целых чисел — результаты выполнения команд.
напиши код на python
Информатика 10 класс Программирование калькулятор на python целочисленные вычисления ввод команд
Шаги решения задачи:
Теперь давайте посмотрим на пример кода, который реализует описанную логику:
```python def calculate(): import math while True: command = input("Введите команду: ").strip() if not command: continue parts = command.split() if len(parts) < 2: continue try: num1 = int(parts[0]) operation = parts[1] if operation in ['+', '-', '*', '/', '%']: if len(parts) < 3: continue num2 = int(parts[2]) if operation == '+': result = num1 + num2 elif operation == '-': result = num1 - num2 elif operation == '*': result = num1 * num2 elif operation == '/': if num2 == 0: continue result = num1 // num2 elif operation == '%': if num2 == 0: continue result = num1 % num2 print(result) elif operation == '!': if num1 < 0: continue result = math.factorial(num1) print(result) elif operation == 'x': print(num1) break except ValueError: continue calculate() ```Объяснение кода:
Этот код будет выполнять целочисленные вычисления в соответствии с введенными командами и выводить результат для каждой корректной команды.