【发布时间】:2021-11-21 18:23:28
【问题描述】:
我正在尝试使用以下代码计算 python 中两点之间的距离:
import math
class Point(object):
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return "Point({0}, {1})".format(self.x, self.y)
def __sub__(self, other):
return Point(self.x - other.x, self.y - other.y) #<-- MODIFIED THIS
def distance(self, other):
p1 = __sub__(Point(self.x , other.x))**2
p2 = __sub__(Point(self.y,other.y))**2
p = math.sqrt(p1,p2)
return p
def dist_result(points):
points = [Point(*point) for point in points]
return [points[0].distance(point) for point in points]
但它正在返回:
NameError: name '__sub__' is not defined
您能告诉我如何正确编写该函数吗?
所以我期待输入:
????1=(????1,????1) and ????2=(????2,????2)
我想使用以下方法计算距离:
????=|????2−????1|=(????1−????2)^2+(????1−????2)^2
【问题讨论】:
-
请提供您期望的输入/输出示例
-
@azro 完成!我编辑了它
标签: python python-class