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

Корни и расстояния

От теоремы Пифагора вручную — к готовым функциям, которые считают расстояние за вас.

isqrt() — целочисленный корень

math.sqrt() всегда возвращает float. Если нужен именно int — например, для чисел настолько больших, что float начинает терять точность — есть math.isqrt(): он отбрасывает дробную часть и работает только с целыми числами.

isqrt.py
import math

print(math.sqrt(10))     # 3.1622776601683795
print(math.isqrt(10))    # 3 — целая часть корня, без дробей и без потери точности

hypot() — гипотенуза без Пифагора вручную

Если известны длины двух катетов прямоугольного треугольника, длину гипотенузы можно найти формулой c = sqrt(a**2 + b**2) — но math уже умеет это одной функцией:

a = 3b = 4c = 5
hypot(3, 4) = 5 — классический прямоугольный треугольник 3-4-5
hypot.py
import math

print(math.sqrt(3 ** 2 + 4 ** 2))   # 5.0 — вручную по теореме Пифагора
print(math.hypot(3, 4))            # 5.0 — то же самое, короче и точнее

dist() — расстояние между двумя точками

math.dist() — это hypot(), но для двух точек на плоскости (или в пространстве), а не для одного треугольника: он сам вычисляет катеты как разницу координат.

xyA(2, 1)B(6, 4)
Расстояние между A и B — это гипотенуза прямоугольного треугольника, построенного на их координатах
dist.py
import math

A = (2, 1)
B = (6, 4)
print(math.dist(A, B))   # 5.0 — то же самое расстояние, посчитанное из координат
Откуда взялось число 5.0
Разница по x: 6 − 2 = 4. Разница по y: 4 − 1 = 3. Это ровно катеты треугольника 3-4-5 выше — dist() под капотом делает именно то же самое, что hypot(), только сам считает катеты за вас.
Практика: корни и расстояния
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →