该错误可自行解释:
pt1=Point(x,y)
NameError: name 'x' is not defined"
简单地说,你必须告诉python什么是x、y、x1和y1变量。
函数声明只是
def distance(pt1,pt2):
,所以必须用
pt1
和
pt2
而不是相反。例如:
def distance(pt1,pt2):
x = pt1[0]
y = pt1[1]
x1 = pt2[0]
x2 = pt2[1]
dist = sqrt((x-x1) ** 2 + (y-y1) ** 2)
return dist
还要注意Python不是Fortran:函数名不应用于变量名
如果您真的想使用
graphics
包,您应该执行以下操作:
def distance(pt1,pt2):
x = pt1.getX()
y = pt1.getY()
x1 = pt2.getX()
x2 = pt2.getX()
dist = sqrt((x-x1) ** 2 + (y-y1) ** 2)
return dist
d = distance(Point(100,50),Point(45,30))