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

Установка 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 сделан!
Если вы тоже хотите сменить профессию или просто освоить новый навык, начните с малого — напишите первый код, разберитесь, как он работает, и постепенно переходите к более сложным проектам.

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