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

Перевод формул: математика → Python

Учебник записывает формулы иначе, чем Python. Разбираем правила перевода — и самые частые ошибки при этом переводе.

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

Таблица перевода

В математикеВ PythonЧастая ошибка
2x2 * xнаписать 2x — SyntaxError, умножение никогда не подразумевается
x2x ** 2написать x^2 — сработает, но даст совсем не то число!
a+bc(a + b) / cнаписать a + b / c — разделится только b, не вся сумма
xx ** 0.5 или math.sqrt(x)забыть, что корень — это тоже степень (0.5)
πr2math.pi * radius ** 2забыть импортировать math, или написать pi вместо math.pi
a(b+c)a * (b + c)написать a(b + c) — Python решит, что a это функция, и попытается её вызвать
a+bc+d(a + b) / (c + d)написать a + b / c + d — разделится только b на c
^ в Python — это НЕ степень
В математике ^ иногда означает возведение в степень. В Python ^ — совсем другой оператор (побитовое исключающее ИЛИ, разберём его в главе про биты): 5 ^ 3 равно 6, а не 125. Для степени всегда используйте **.
proverka_karety.py
print(5 ** 3)   # 125 — степень
print(5 ^ 3)    # 6 — совсем другая операция!

От математики — через геометрию — к Python

Таблица показывает перевод построчно. Но у формулы A=πr2 есть третий, самый наглядный уровень — сама геометрическая фигура, которую формула описывает:

A=πr2
A = πr² — площадь круга через его радиус
r
Радиус r соединяет центр круга с его краем — из него вычисляется площадь A = πr²
ploshad_kruga_perevod.py
import math

radius = 5
ploshad = math.pi * radius ** 2
print(round(ploshad, 2))   # 78.54
radius ** 2, а не (radius) ** 2
Скобки вокруг одиночной переменной не нужны — ** уже применяется только к radius, а не ко всему выражению math.pi * radius (умножение и степень — разные уровни приоритета, степень выше).

Почему скобки вокруг суммы обязательны

Вернёмся к дроби a+bc и посмотрим на неё с трёх сторон: как формулу, как дерево вычислений и как код.

a+bc
Черта дроби ГРУППИРУЕТ a + b в один числитель — это визуально очевидно
/+abc
(a + b) / c — дерево показывает, что вся сумма должна оказаться ПОД чертой дроби

Дерево показывает то же самое, что и черта дроби: a + b — единый блок, который целиком становится числителем. В Python черты нет, поэтому эту группировку нужно обозначить явно — круглыми скобками:

pochemu_skobki.py
a, b, c = 8, 4, 3

# ПРАВИЛЬНО — скобки воспроизводят черту дроби:
print((a + b) / c)   # 4.0

# НЕПРАВИЛЬНО — без скобок делится только b:
print(a + b / c)     # 9.333... — это a + (b / c), совсем другая формула!

Пример перевода: формула среднего

Формула среднего трёх чисел a+b+c3 переводится в Python по тому же правилу — вся сумма должна попасть в скобки, прежде чем делить:

srednee_perevod.py
a, b, c = 4, 7, 9
srednee = (a + b + c) / 3
print(srednee)   # 6.666...
Практика: перевод формул из математики в Python
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →