class Line():
def __init__(self, coor1 , coor2):
self.coor1 = coor1
self.coor2 = coor2
def distance(self):
for x1,y1 in self.coor1, x2,y2 in self.coor2:
distance = ((x2-x1)**2 + (y2-y1)**2)**0.5
return distance
coordinate1 = (3,2)
coordinate2 = (8,10)
li = Line(coordinate1,coordinate2)
li.distance()
嗨,我不太清楚为什么(x2,y2)无法定义,而第一个变量(x1,y1)可以定义。我不太确定如何在 for 循环中包含两个元组,但是不应该同时定义两个元组或者都不定义它们吗?谢谢!
您没有正确使用for循环。您不需要循环来一次分配多个值。只要这样做:
class Line():
def __init__(self, coor1 , coor2):
self.coor1 = coor1
self.coor2 = coor2
def distance(self):
x1,y1 = self.coor1
x2,y2 = self.coor2
distance = ((x2-x1)**2 + (y2-y1)**2)**0.5
return distance
coordinate1 = (3,2)
coordinate2 = (8,10)
li = Line(coordinate1,coordinate2)
print(li.distance())
由于元组包含两个值,因此它们将被分配给以逗号分隔的 2 个变量:
x,y = (1,2)
与
相同x = 1
y = 2