теорема пифагора на питоне — как найти гипотенузу и расстояние между двумя точками
На геометрии проходим теорему Пифагора, учитель сказал попробовать посчитать на питоне. Надо найти гипотенузу прямоугольного треугольника с катетами 3 и 4, и ещё расстояние между точками A(1, 2) и B(4, 6). С гипотенузой попробовал так, но не уверен:
a = 3
b = 4
c = a**2 + b**2
print(c) # выдаёт 25, а должно быть 5?
Почему 25 а не 5? И как со второй частью про точки?
2 ответа
Ты почти у цели! 25 получилось потому что ты посчитал a² + b², но забыл взять из этого квадратный корень. По теореме Пифагора c² = a² + b², а сама гипотенуза c = √(a² + b²).
import math
a, b = 3, 4
c = math.sqrt(a**2 + b**2)
print(c) # 5.0
Теперь про расстояние между точками — это та же теорема Пифагора, просто хитро применённая. Если у тебя точки A(x1, y1) и B(x2, y2), то отрезок AB — это гипотенуза треугольника, а катеты — разница по x и разница по y:
import math
x1, y1 = 1, 2
x2, y2 = 4, 6
rasst = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
print(rasst) # 5.0
Формула расстояния √((x2−x1)² + (y2−y1)²) — это и есть Пифагор: (x2−x1) это один катет, (y2−y1) второй, а расстояние между точками — гипотенуза.
Кстати, в Python есть готовая math.hypot, которая сразу считает гипотенузу:
print(math.hypot(3, 4)) # 5.0
print(math.hypot(x2 - x1, y2 - y1)) # 5.0
Маленькая ремарка про возведение в степень: в питоне это **, а не ^. Знак ^ тоже работает, но это совсем другая операция (побитовый XOR), и результат будет неожиданный. Так что только a**2.
print(3**2) # 9 — правильно
print(3^2) # 1 — НЕ степень, это другое!