Глава 5 · Давайте поиграем с числами!
Геометрия с math
math не рисует круги — но даёт всё, чтобы их точно посчитать.
Модуль math не умеет рисовать круги, но даёт всё нужное, чтобы
их посчитать: константу math.pi и обычные
арифметические операторы, которые мы уже знаем.
Площадь и длина окружности
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, без установки