Как найти расстояние между двумя точками? Скажем, у меня есть x1, y1, а также x2, y2. Как я могу найти расстояние между ними? Это простая математическая функция, но есть ли фрагмент этого онлайн? Ответ 1 dist = sqrt( (x2 - x1)**2 + (y2 - y1)**2 ) Как указывали другие, вы также можете использовать эквивалентный встроенный math.hypot(): dist = math.hypot(x2 - x1, y2 - y1) Ответ 2 Пусть не забудут math.hypot: dist = math.hypot(x2-x1, y2-y1) Здесь гипотеза как часть фрагмента для вычисления длины пути, определенного списком (x, y) кортежей: from math import hypot pts = [ (10,10), (10,11), (20,11), (20,10), (10,10), ] # Py2 syntax - no longer allowed in Py3 # ptdiff = lambda (p1,p2): (p1[0]-p2[0], p1[1]-p2[1]) ptdiff = lambda p1, p2: (p1[0]-p2[0], p1[1]-p2[1]) diffs = (ptdiff(p1, p2) for p1, p2 in zip (pts, pts[1:])) path = sum(hypot(*d) for d in diffs) print(path) Ответ 3 Это реализация теоремы Пифагора. Ссылка: http://en.wikipedia.org/wiki/Pythagorean_theorem
Ответ 1 dist = sqrt( (x2 - x1)**2 + (y2 - y1)**2 ) Как указывали другие, вы также можете использовать эквивалентный встроенный math.hypot(): dist = math.hypot(x2 - x1, y2 - y1)
Ответ 2 Пусть не забудут math.hypot: dist = math.hypot(x2-x1, y2-y1) Здесь гипотеза как часть фрагмента для вычисления длины пути, определенного списком (x, y) кортежей: from math import hypot pts = [ (10,10), (10,11), (20,11), (20,10), (10,10), ] # Py2 syntax - no longer allowed in Py3 # ptdiff = lambda (p1,p2): (p1[0]-p2[0], p1[1]-p2[1]) ptdiff = lambda p1, p2: (p1[0]-p2[0], p1[1]-p2[1]) diffs = (ptdiff(p1, p2) for p1, p2 in zip (pts, pts[1:])) path = sum(hypot(*d) for d in diffs) print(path)