Выбрать курс

Как написать простой калькулятор на Python

Василиса работала бухгалтером и мечтала о стабильности. Но стабильность в её жизни была только в одном: каждый квартал — новые отчёты, каждый месяц — дедлайны, а каждая ошибка — повод для штрафа. В то время как айтишники вокруг наслаждались удалёнкой, ДМС и бесплатными печеньками, Василиса сидела над очередной пояснительной. В какой-то момент она поняла: пора что-то менять.

Она узнала, что Python — один из самых популярных языков, и решила начать с азов. В качестве первого проекта выбрала написание калькулятора. Ведь если уж разбираться с цифрами, то хотя бы так, чтобы за это платили больше.

IT
Инструкции
7
369
11.03.2025
Вы узнаете:

Установка Python и выбор среды разработки

Первым делом Василиса установила Python. Она зашла на официальный сайт, скачала свежую версию и не забыла поставить галочку Add Python to PATH, чтобы всё работало без лишних настроек.

Дальше — среда разработки. Василиса выбрала VS Code, потому что он лёгкий и понятный. Установив редактор, она создала новый файл calculator.py — пора писать код!

Получение ввода от пользователя

Калькулятор должен запрашивать два числа и операцию. Василиса узнала, что ввод в Python делается через input():

num1 = input("Введите первое число: ")

num2 = input("Введите второе число: ")

Но тут возникла проблема: Python воспринимает ввод как текст. Чтобы работать с числами, их нужно преобразовать:

num1 = float(input("Введите первое число: "))

num2 = float(input("Введите второе число: "))

Теперь введённые значения можно использовать в математических операциях.

Выбор и выполнение операций

Василиса добавила меню с операциями:

print("Выберите операцию:")

print("1. Сложение")

print("2. Вычитание")

print("3. Умножение")

print("4. Деление")

operation = input("Введите номер операции (1/2/3/4): ")

Условные операторы для выполнения действий

Python позволяет выполнять разные действия в зависимости от выбора пользователя. Василиса написала такой скрипт:

if operation == "1":

    result = num1 + num2

elif operation == "2":

    result = num1 - num2

elif operation == "3":

    result = num1 * num2

elif operation == "4":

    if num2 != 0:

        result = num1 / num2

    else:

        result = "Ошибка: деление на ноль!"

else:

    result = "Ошибка: некорректная операция."

print(f"Результат: {result}")

Теперь у Василисы есть простой калькулятор на Python: он принимает два числа, предлагает операцию и выводит результат.

Войти в IT — несложно

Василиса думала, что программирование — это сложно, пока не начала учиться на курсе «Python-разработчик» Академии Eduson. Оказалось, достаточно просто повторять за лектором — и уже пишешь код!

Куратор всегда на связи: проверит задания, разберёт ошибки и поможет с любым вопросом по курсу. А доступ к материалам и обновлениям остаётся навсегда — можно пересматривать и закреплять материал, когда удобно.

Создание функций для упрощения кода

Чтобы не дублировать код, Василиса вынесла вычисления в функции:

def add(a, b):

    return a + b

def subtract(a, b):

    return a - b

def multiply(a, b):

    return a * b

def divide(a, b):

    return a / b if b != 0 else "Ошибка: деление на ноль!"

Теперь сам код стал чище:

operations = {"1": add, "2": subtract, "3": multiply, "4": divide}

if operation in operations:

    print(f"Результат: {operations[operation](num1, num2)}")

else:

    print("Ошибка: некорректная операция.")

Обработка ошибок и некорректных данных

Что, если пользователь введёт буквы вместо чисел? Василиса добавила защиту:

try:

    num1 = float(input("Введите первое число: "))

    num2 = float(input("Введите второе число: "))

except ValueError:

    print("Ошибка: введите число!")

    exit()

Теперь программа не сломается при вводе некорректных данных.

Сделайте карьеру в IT

Василиса не хотела останавливаться на простом коде — она захотела создавать сайты и приложения.

На курсе «Fullstack-разработчик на Python с нуля» от Академии Eduson она изучила frontend, backend и базы данных. Учиться оказалось проще, чем казалось: достаточно повторять за лектором — и сразу получаешь результат.

Как расширить функционал калькулятора на Python

Василиса решила добавить новые операции.

Возведение в степень и остаток от деления

def power(a, b):

    return a ** b

def mod(a, b):

    return a % b if b != 0 else "Ошибка: деление на ноль!"

Обновляем меню:

print("5. Возведение в степень")

print("6. Остаток от деления")

И добавляем в обработку операций:

operations["5"] = power

operations["6"] = mod

Теперь калькулятор умеет больше!

Использование циклов для повторного ввода

Сейчас программа завершается после одного действия — Василиса решила, что нужно увеличить количество расчётов:

while True:

    num1 = float(input("Введите первое число: "))

    num2 = float(input("Введите второе число: "))

    operation = input("Выберите операцию (1/2/3/4/5/6) или 'q' для выхода: ")

    if operation == "q":

        print("Выход из программы.")

        break

    if operation in operations:

        print(f"Результат: {operations[operation](num1, num2)}")

    else:

        print("Ошибка: некорректная операция.")

Теперь калькулятор работает, пока пользователь сам не решит выйти.

Тестирование и отладка

Перед тем как пользоваться калькулятором, Василиса проверила:

  • верно ли считаются все операции;

  • как программа реагирует на некорректные данные;

  • что будет при делении на ноль;

  • работает ли выход из программы.

Когда всё заработало, Василиса поняла: первый шаг в IT сделан!

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

Подписывайтесь на телеграм-канал Академии Eduson, чтобы видеть больше полезных постов о востребованных профессиях и карьерном росте, узнавать про скидки и акции на обучение.

Вопросы и ответы

Как освоить Python с нуля?

Начните с простых проектов, как этот калькулятор. Читайте документацию, проходите курсы, чтобы получить системные знания, пробуйте писать код. Главное — практика.

Нужны ли математические знания для работы с Python?

Базовой арифметики достаточно. Более сложные задачи потребуют знания алгебры, а сам Python — проще, чем другие языки программирования.


Можно ли создать Python Calculator?

Да, и это отличный стартовый проект, который помогает разобраться с основами Пайтона.
Екатерина Озерова
Копирайтер

Бегает, крутит педали и много смеётся.

Убеждена, что главное в жизни — наслаждаться каждым днём, даже рабочим.

Узнай, какая профессия тебе подойдёт
Пройти тест