Напишите код калькулятора на Python.
Ответы на вопрос
Ниже пример простого калькулятора на Python, который работает в консоли. Он умеет выполнять сложение, вычитание, умножение, деление, возведение в степень и остаток от деления.
Pythondef add(a, b): return a + bdef subtract(a, b): return a - b
def multiply(a, b): return a * b
def divide(a, b): if b == 0: return "Ошибка: деление на ноль невозможно" return a / b
def power(a, b): return a ** b
def modulo(a, b): if b == 0: return "Ошибка: деление на ноль невозможно" return a % b
def calculator(): while True: print("\nКалькулятор") print("1. Сложение") print("2. Вычитание") print("3. Умножение") print("4. Деление") print("5. Возведение в степень") print("6. Остаток от деления") print("0. Выход")
choice = input("Выберите операцию: ")
if choice == "0": print("Выход из программы") break
if choice not in ("1", "2", "3", "4", "5", "6"): print("Ошибка: выберите корректную операцию") continue
try: num1 = float(input("Введите первое число: ")) num2 = float(input("Введите второе число: ")) except ValueError: print("Ошибка: нужно вводить только числа") continue
if choice == "1": result = add(num1, num2) operation = "+"
elif choice == "2": result = subtract(num1, num2) operation = "-"
elif choice == "3": result = multiply(num1, num2) operation = "*"
elif choice == "4": result = divide(num1, num2) operation = "/"
elif choice == "5": result = power(num1, num2) operation = "**"
elif choice == "6": result = modulo(num1, num2) operation = "%"
print(f"Результат: {num1} {operation} {num2} = {result}")
calculator()
Пример работы программы:
Калькулятор 1. Сложение 2. Вычитание 3. Умножение 4. Деление 5. Возведение в степень 6. Остаток от деления 0. ВыходВыберите операцию: 1 Введите первое число: 10 Введите второе число: 5 Результат: 10.0 + 5.0 = 15.0
В этом коде каждая математическая операция вынесена в отдельную функцию. Основная функция calculator() показывает меню, принимает выбор пользователя, запрашивает два числа и выводит результат.
Также в программе есть обработка ошибок: если пользователь введёт не число, программа не завершится аварийно, а выведет сообщение об ошибке. Деление на ноль тоже обработано отдельно.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

