Глава 5 · Давайте поиграем с числами!

Скобки и формулы из переменных

От отдельных операторов — к настоящим формулам с понятными именами, как в реальном коде.

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

Скобки для людей, а не только для Python

skobki_dlya_lyudej.py
# Технически скобки не нужны — приоритет и так верный:
srednee = 4 + 7 + 9 / 3
print(srednee)      # 14.0 — НЕПРАВИЛЬНО! Это 4 + 7 + (9 / 3), не то, что имелось в виду

# А вот с явными скобками результат соответствует замыслу:
srednee = (4 + 7 + 9) / 3
print(srednee)      # 6.666... — среднее трёх чисел
Забытые скобки — источник реальных ошибок
Пример выше — не выдуманная ловушка: «забыть скобки вокруг суммы перед делением» — одна из самых частых ошибок начинающих при переводе формулы в код.

Формулы из именованных переменных

Настоящий код почти никогда не пишут с «голыми» числами — используют переменные с понятными именами. Это делает формулу читаемой и легко изменяемой:

formula_pryamougolnika.py
shirina = 6
vysota = 3

perimetr = 2 * (shirina + vysota)
ploshad = shirina * vysota

print(f"Периметр: {shirina + shirina}")
print(f"Периметр: {perimetr}")
print(f"Площадь: {ploshad}")
Опечатка выше — специально
Обратите внимание на первую строку print() в примере: shirina + shirina вместо perimetr — она не выдаёт ошибку, но выдаёт неверное число. Формула, которая не падает, но считает не то, что задумано — самая коварная ошибка в вычислениях. Мы разберём такие ошибки подробно в разделе про отладку вычислений.

Ещё три классические формулы

eshche_formuly.py
# скорость = расстояние / время
rasstoyanie_km = 120
vremya_ch = 2
skorost = rasstoyanie_km / vremya_ch
print(f"Скорость: {skorost} км/ч")

# перевод температуры из Цельсия в Фаренгейт
celsius = 20
fahrenheit = celsius * 9 / 5 + 32
print(f"{celsius}°C = {fahrenheit}°F")

# простые проценты: сумма * ставка * годы / 100
summa = 1000
stavka = 5
gody = 3
procenty = summa * stavka * gody / 100
print(f"Проценты: {procenty}")
1/3
Среднее трёх равных долей — та же идея, что и деление на 3 в формуле выше
Практика: скобки и формулы из переменных
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →