我定义了一个名为 Point 的类,它定义了 x、y 坐标系中的一个点。定义和方法如下所示。我创建了自己的str方法版本,以可打印的形式返回创建的点(必需)。但是,当我尝试使用调用 p.DistanceTo(p2) 将返回的点传递给另一个方法来确定两点(p1 和 p2)之间的距离时,我从尝试解析字符串(p2 ) 传递到方法中:
AttributeError: Point instance has no attribute 'find'
当我传入一个定义为 p2 的字符串时,它应该可以正常工作。任何帮助将不胜感激。谢谢你。
这是代码:
class Point:
""" Define a Point
"""
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def __str__(self):
return "(" + str(self.x) + "," + str(self.y) + ")"
def __getitem__(self,i):
return i
def __find__(self,j):
return j
def DistanceTo(self,p2):
idx1 = p2.find("(")
idx2 = p2.find(",")
idx3 = p2.find(")")
x2 = int(p2[idx1+1:idx2])
y2 = int(p2[idx2+1:idx3])
dist = math.sqrt(math.pow((x2-self.x),2)+math.pow((y2-self.y),2))
return dist
p1=Point()
p2=Point(3,4)
print p1.DistanceTo(p2)