2对代码之间的距离是对吗? (蟒蛇)

时间:2016-02-21 21:13:58

标签: python

我正在试图找出一种方法来创建一个程序,它给出了给定有序对的任意两点之间的距离。

我想我可能有代码,但我需要有人检查并确保它是正确的。

oInput = ["9.5 7.5", "10.2 19.1", "9.7 10.2"]

inp = [(float(j[0]), float(j[1])) for j in [i.split() for i in oInput]]

min_distance = float('infinity')
min_pair = None

length = len(inp)
for i in xrange(length):
    for j in xrange(i+1, length):
        point1 = inp[i]
        point2 = inp[j]

        if math.hypot(point1[0] - point2[0], point1[1] - point2[0]) < min_distance:
            min_pair = [point1, point2]

1 个答案:

答案 0 :(得分:1)

首先,你在这里使用错误的索引:

math.hypot(point1[0] - point2[0], point1[1] - point2[0]) # current, wrong
math.hypot(point1[0] - point2[0], point1[1] - point2[1]) # right

其次,这个程序不是你所描述的,它会产生比给定min_distance更接近的点对。