Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 10 сентября 2025 16:13

Напиши простой калькулятор на python

Ответ нейросети

10 сентября 2025 16:13

Задача: создать простой калькулятор на Python и понять, как он работает. Подойдет для 9 класса по информатике.

План решения

  • Сделаем калькулятор, который читает выражение в формате: число оператор число (пример: 3 + 4) или же можно вводить через три части: сначала число, затем оператор, затем число.
  • Реализуем операторы: +, -, *, /.
  • Добавим обработку ошибок: неверный формат ввода, деление на ноль, неподдерживаемый оператор.
  • Сделаем цикл, чтобы можно было выполнять много вычислений подряд, выход по сути команды q/quit.

Пояснение по шагам

  1. Определяем функцию calculate(a, b, op), которая выбирает действие в зависимости от op и возвращает результат.
  2. В основном цикле принимаем ввод пользователя в виде тройки: число, оператор, число (через пробел). Это упрощает разбор и делает программу понятнее ученику 9 класса.
  3. Преобразуем введенные числа в float — так калькулятор сможет работать как с целыми числами, так и с дробями.
  4. Обрабатываем возможные ошибки:
    • Неправильный формат ввода (нужно три части: число, оператор, число).
    • Неподдерживаемый оператор.
    • Деление на ноль.
  5. Выводим результат. Если результат целый, показываем его без дробной части.

Код (Python 3)

def calculate(a, b, op): if op == '+': return a + b elif op == '-': return a - b elif op == '*': return a * b elif op == '/': if b == 0: raise ZeroDivisionError("Деление на ноль нельзя") return a / b else: raise ValueError("Неподдерживаемый оператор: " + op)

def main(): print("Простой калькулятор. Введите выражение в формате: число оператор число (например: 3 + 4).") print("Доступные операторы: +, -, *, /") print("Чтобы выйти, введите q, quit или exit.")

while True:
    s = input("Введите выражение: ").strip()
    if s.lower() in ('q', 'quit', 'exit'):
        print("Выход.")
        break

    parts = s.split()
    if len(parts) != 3:
        print("Неправильный формат. Попробуйте: 3 + 4")
        continue

    a_str, op, b_str = parts
    try:
        a = float(a_str)
        b = float(b_str)
    except ValueError:
        print("Некорректные числа. Используйте числа для двух операндов.")
        continue

    try:
        result = calculate(a, b, op)
        # Красиво выводим целые числа без дробной части
        if isinstance(result, float) and result.is_integer():
            print("Результат:", int(result))
        else:
            print("Результат:", result)
    except ZeroDivisionError as e:
        print("Ошибка:", e)
    except ValueError as e:
        print("Ошибка:", e)

if name == "main": main()

Как это использовать

  • Запустите файл в Python 3 (например, python3 имя_файла.py).
  • Введите выражение типа:
    • 3 + 4
    • 10 / 2
    • 5 * 6
    • 7 - 3.5
  • Чтобы выйти, введите q или quit или exit и нажмите Enter.

Расширения (для будущего обучения)

  • Поддержать ввод без пробелов, например 3+4, путем парсинга строки.
  • Добавить дополнительные операции: возведение в степень, проценты и т.д.
  • Сделать калькулятор с кнопочным интерфейсом (GUI) через Tkinter.
  • Сделать обработку выражений с скобками и приоритетами через модуль ast или eval с ограничениями (для безопасного парсинга), но это уже более продвинутый уровень.

Если хочешь, могу адаптировать решение под конкретный формат ввода, например только через три отдельных ввода: первое число, оператор, второе число. Или сделаю версию с графическим интерфейсом.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

напиши простой калькулятор на python
Задача: создать простой калькулятор на Python и понять, как он работает. Подойдет для 9 класса по информатике. План решения - Сделаем калькулятор, который читает выражение в формате: число оператор число (пример: 3 + 4) или же можно вводить через три части: сначала число, затем оператор, затем число. - Реализуем операторы: +, -, *, /. - Добавим обработку ошибок: неверный формат ввода, деление на ноль, неподдерживаемый оператор. - Сделаем цикл, чтобы можно было выполнять много вычислений подряд, выход по сути команды q/quit. Пояснение по шагам 1) Определяем функцию calculate(a, b, op), которая выбирает действие в зависимости от op и возвращает результат. 2) В основном цикле принимаем ввод пользователя в виде тройки: число, оператор, число (через пробел). Это упрощает разбор и делает программу понятнее ученику 9 класса. 3) Преобразуем введенные числа в float — так калькулятор сможет работать как с целыми числами, так и с дробями. 4) Обрабатываем возможные ошибки: - Неправильный формат ввода (нужно три части: число, оператор, число). - Неподдерживаемый оператор. - Деление на ноль. 5) Выводим результат. Если результат целый, показываем его без дробной части. Код (Python 3) def calculate(a, b, op): if op == '+': return a + b elif op == '-': return a - b elif op == '*': return a * b elif op == '/': if b == 0: raise ZeroDivisionError("Деление на ноль нельзя") return a / b else: raise ValueError("Неподдерживаемый оператор: " + op) def main(): print("Простой калькулятор. Введите выражение в формате: число оператор число (например: 3 + 4).") print("Доступные операторы: +, -, *, /") print("Чтобы выйти, введите q, quit или exit.") while True: s = input("Введите выражение: ").strip() if s.lower() in ('q', 'quit', 'exit'): print("Выход.") break parts = s.split() if len(parts) != 3: print("Неправильный формат. Попробуйте: 3 + 4") continue a_str, op, b_str = parts try: a = float(a_str) b = float(b_str) except ValueError: print("Некорректные числа. Используйте числа для двух операндов.") continue try: result = calculate(a, b, op) # Красиво выводим целые числа без дробной части if isinstance(result, float) and result.is_integer(): print("Результат:", int(result)) else: print("Результат:", result) except ZeroDivisionError as e: print("Ошибка:", e) except ValueError as e: print("Ошибка:", e) if __name__ == "__main__": main() Как это использовать - Запустите файл в Python 3 (например, python3 имя_файла.py). - Введите выражение типа: - 3 + 4 - 10 / 2 - 5 * 6 - 7 - 3.5 - Чтобы выйти, введите q или quit или exit и нажмите Enter. Расширения (для будущего обучения) - Поддержать ввод без пробелов, например 3+4, путем парсинга строки. - Добавить дополнительные операции: возведение в степень, проценты и т.д. - Сделать калькулятор с кнопочным интерфейсом (GUI) через Tkinter. - Сделать обработку выражений с скобками и приоритетами через модуль ast или eval с ограничениями (для безопасного парсинга), но это уже более продвинутый уровень. Если хочешь, могу адаптировать решение под конкретный формат ввода, например только через три отдельных ввода: первое число, оператор, второе число. Или сделаю версию с графическим интерфейсом.