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

Геометрия с math

math не рисует круги — но даёт всё, чтобы их точно посчитать.

Модуль math не умеет рисовать круги, но даёт всё нужное, чтобы их посчитать: константу math.pi и обычные арифметические операторы, которые мы уже знаем.

Площадь и длина окружности

xyR = 3
Окружность радиусом 3 — площадь и длина считаются через её радиус
krug.py
import math

radius = 3
ploshad = math.pi * radius ** 2
dlina_okruzhnosti = 2 * math.pi * radius

print(f"Площадь: {round(ploshad, 2)}")               # 28.27
print(f"Длина окружности: {round(dlina_okruzhnosti, 2)}")  # 18.85
math.pi — это float с ограниченной точностью
math.pi хранит π с точностью, достаточной для практических задач (15-16 значащих цифр) — но это не «настоящее» бесконечное π, а его float-представление. Мы подробно разбирали, почему у float есть предел точности, в главе 4.

Комбинируем несколько формул: площадь кольца

Настоящие геометрические задачи часто требуют комбинировать несколько формул. Площадь кольца между двумя окружностями — площадь большого круга минус площадь маленького:

kolco.py
import math

vneshnij_radius = 5
vnutrennij_radius = 3

ploshad_kolca = math.pi * vneshnij_radius ** 2 - math.pi * vnutrennij_radius ** 2
print(round(ploshad_kolca, 2))   # 50.27

Полезные помощники: prod() и fsum()

Для перемножения или точного суммирования нескольких чисел сразу — например, объёма параллелепипеда по трём измерениям:

prod_fsum.py
import math

izmereniya = [4, 5, 6]
obyom = math.prod(izmereniya)
print(obyom)   # 120 — как 4 * 5 * 6

# fsum складывает float точнее, чем обычный sum() — меньше накопленной ошибки округления
chisla = [1, 1e16, -1e16]
print(sum(chisla))         # 0.0 — обычный sum() потерял единицу из-за порядка сложения
print(math.fsum(chisla))   # 1.0 — fsum() считает точнее именно для таких случаев
Практика: геометрия с math
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →