这两个或多个点之间的最长距离
Posted
技术标签:
【中文标题】这两个或多个点之间的最长距离【英文标题】:longest distance between these two or more points 【发布时间】:2020-05-16 05:44:04 【问题描述】:编写一个程序,获取两个不同的点 A(x1,y1) 和 B(x2,y2),并返回这两个点之间的距离。距离公式为勾股定理。
import math
def get_dist(point):
return math, sqrt((points[0]-points[2])**2 + (points[1]-points[3])**2)
【问题讨论】:
points
在哪里定义?你的参数是point
另见Open letter to students with homework problems
这段代码有几个错误,异常不言自明。修复它们后,您需要哪些具体问题的帮助?
【参考方案1】:
也许你必须更有序,例如你的函数计算两点的距离,所以你的输入是 2 个变量,每个变量是一个排序器对:
import math
def get_dist(point_1:tuple, point_2:tuple):
return math.sqrt((point_1[0]-point_2[0])**2 + (point_1[1]-point_2[1])**2)
【讨论】:
【参考方案2】:Python 3.7 或更低版本
如果您使用的是 python 3.7 或更低版本,则可以使用使用勾股定理的内置函数math.hypot
。然后你可以定义一个函数如下:
import math
def get_dist(point_a, point_b):
x1, y1 = point_a
x2, y2 = point_b
return math.hypot(x1-x2, y1-y2)
if __name__ == '__main__':
a = (1, 1)
b = (-3, 4)
print('get_dist(a, b):', get_dist(a, b))
Python 3.8
正如评论中提到的,如果您使用的是 python 3.8,您可以直接使用 math.dist
函数,而无需像我上面那样自己实现任何东西。
希望这对您有所帮助。
【讨论】:
你说“Python已经有一个内置函数......”很有趣,然后不要使用math.dist
。以上是关于这两个或多个点之间的最长距离的主要内容,如果未能解决你的问题,请参考以下文章