Найти в Дзене

Урок 13-1 🐍 Сложный мини-калькулятор на Python

Сегодня мы создадим сложный калькулятор Python, который умеет считать почти всё!
Это простой проект python, но с дополнительными функциями, которые делают его интерактивным и интересным для изучения. Для работы используем: Важно: отключи переводчик в браузере, чтобы Python правильно воспринимал команды. # Проверка ввода числа def get_number(prompt): while True: num = input(prompt) if num.isdigit(): # проверяем, что введено число return int(num) else: print("Пожалуйста, введи число!") # Ввод чисел a = get_number("Введите первое число: ") b = get_number("Введите второе число: ") # Выбор операции print("Выбери операцию:") print("1. Сложение +") print("2. Вычитание -") print("3. Умножение *") print("4. Обычное деление /") print("5. Целочисленное деление //") print("6. Остаток %") print("7. Возведение в степень **") choice = input("Введите номер операции (1-7): ") # Выполнение выбранной операции if choice == "1": print(a, "+", b, "=", a + b) elif choice == "2": print(a, "-", b, "=", a - b
Оглавление

Введение

Сегодня мы создадим сложный калькулятор Python, который умеет считать почти всё!

Это простой проект python, но с дополнительными функциями, которые делают его интерактивным и интересным для изучения.

Шаг 1. Открываем онлайн Python

Для работы используем:

  • или любой другой онлайн-компилятор Python

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

Шаг 2. Пишем программу

-2
# Проверка ввода числа
def get_number(prompt):
while True:
num = input(prompt)
if num.isdigit(): # проверяем, что введено число
return int(num)
else:
print("Пожалуйста, введи число!")
# Ввод чисел
a = get_number("Введите первое число: ")
b = get_number("Введите второе число: ")
# Выбор операции
print("Выбери операцию:")
print("1. Сложение +")
print("2. Вычитание -")
print("3. Умножение *")
print("4. Обычное деление /")
print("5. Целочисленное деление //")
print("6. Остаток %")
print("7. Возведение в степень **")
choice = input("Введите номер операции (1-7): ")
# Выполнение выбранной операции
if choice == "1":
print(a, "+", b, "=", a + b)
elif choice == "2":
print(a, "-", b, "=", a - b)
elif choice == "3":
print(a, "*", b, "=", a * b)
elif choice == "4":
print(a, "/", b, "=", a / b)
elif choice == "5":
print(a, "//", b, "=", a // b)
elif choice == "6":
print(a, "%", b, "=", a % b)
elif choice == "7":
print(a, "**", b, "=", a ** b)
else:
print("Неверный выбор! Попробуй снова.")

Шаг 3. Как программа работает

  1. Функция get_number() проверяет, что введено число.
  2. Меню "Выбор операций" позволяет выбрать нужную математическую операцию.
  3. if / elif / else проверяет выбор пользователя и выполняет соответствующую операцию.
  4. Результат выводится на экран с помощью print().

💡 Совет: Python читается сверху вниз, шаг за шагом. Обрати внимание на отступы, они очень важны.

Эта иллюстрация создана специально для нашего канала PythonLand
Эта иллюстрация создана специально для нашего канала PythonLand

Шаг 4. Изучаем функцию get_number(prompt)

-4

1️⃣ Что такое функция

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

2️⃣ Параметр prompt

  • В скобках (prompt) мы передаём сообщение, которое видит игрок.
  • Например:
a = get_number("Введите первое число: ")
  • Python показывает текст "Введите первое число: " на экране.
  • В это время начинает работать функция get_number(prompt)
Эта иллюстрация создана специально для нашего канала PythonLand
Эта иллюстрация создана специально для нашего канала PythonLand

3️⃣ Цикл while True

  • Цикл while True повторяет всё внутри себя пока мы не остановим его вручную.
  • Он нужен, чтобы просить пользователя вводить число снова и снова, пока он не введёт правильное.

4️⃣ Получение ввода input(prompt)

num = input(prompt)
  • input() показывает сообщение и ждёт, пока игрок введёт текст с клавиатуры.
  • Всё, что введёт игрок, Python воспринимает как строку (текст).

5️⃣ Проверка числа if num.isdigit()

  • num.isdigit() проверяет: всё ли введённое состоит из цифр.
  • Если да → это число, и можно работать с ним дальше.
  • Если нет (ветка else) → программа выводит подсказку:
print("Пожалуйста, введи число!")

и просит снова ввести число.

6️⃣ Преобразование в число int(num)

  • input() возвращает текст, даже если мы ввели 5.
  • Чтобы Python мог считать с этим числом, нужно превратить его в число типа int:
return int(num)
  • return — это как отправка результата работы функции обратно в программу.

7️⃣ Пример работы функции

a = get_number("Введите первое число: ")
b = get_number("Введите второе число: ")
print("Вы ввели числа:", a, "и", b)
  • Python покажет подсказку для ввода
  • Если пользователь ввёл текст вместо числа → попросит снова
  • Если ввёл число → функция вернёт его программе

💡 Таким образом:


Функция get_number — это как маленький
страж, который не пускает неверные значения в ваш калькулятор. Она проверяет, что всё честно и правильно! 🐍

Шаг 5. Изучаем Меню операций

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

1️⃣ Меню операций

Сначала программа показывает список:

print("Выбери операцию:")
print("1. Сложение +")
print("2. Вычитание -")
print("3. Умножение *")
print("4. Деление /")

Это просто текст на экране.

Пока никаких вычислений не происходит.

2️⃣ Получение выбора пользователя

choice = input("Введите номер операции: ")
  • input() ждёт, что пользователь введёт число.
  • Важно: результат input() — строка (текст).
  • Поэтому choice будет, например, "1", а не число 1.

3️⃣ Проверка выбора — конструкция if / elif / else

Теперь начинается самое важное:

if choice == "1":
print(a + b)

elif choice == "2":
print(a - b)

elif choice == "3":
print(a * b)

elif choice == "4":
print(a / b)

else:
print("Неверный выбор")

4️⃣ Как это работает

Python проверяет условия по порядку сверху вниз:

  1. Если choice == "1" → выполняется сложение.
  2. Если нет, проверяется "2" → выполняется вычитание.
  3. Если нет, проверяется "3" → умножение.
  4. Если ни одно условие не подошло → выполняется else.

Важно:

Когда одно условие сработало — остальные уже не проверяются.

5️⃣ Почему сравниваем со строкой "1"?

Потому что input() возвращает текст.

Если написать:

if choice == 1:

— программа не сработает правильно, потому что "1" ≠ 1.

6️⃣ Что делает else

else — это защита программы.

Если пользователь введёт:

  • 9
  • букву
  • случайный символ

Программа не «сломается», а аккуратно сообщит об ошибке.

7️⃣ Простая схема логики

Пользователь выбирает →
Python сравнивает →
Если совпало → выполняет действие →
Если нет → проверяет дальше →
Если ничего не подошло → выводит сообщение об ошибке.

💡 Можно представить это как развилку на дороге:

  • Ввел 1 — пошёл налево
  • Ввел 2 — пошёл направо
  • Ввел 3 — прямо
  • Всё остальное — возвращаемся назад

Итог

Теперь у тебя есть интерактивный мини-проект Python — калькулятор 2.0.

Ты умеешь:

  • проверять правильность ввода чисел
  • выбирать операции через меню
  • использовать все виды деления, сложение, вычитание, умножение и возведение в степень

Следующий урок будет посвящён строкам и тексту в Python — наш калькулятор можно будет дополнить диалогом с пользователем!