我写了这段代码,但我无法弄清楚我到底做错了什么。我创建了“Route”类的两个实例,它们以某种方式共享“coords”列表的值。
import random
class Route():
def __init__(self):
self.coords = []
self.distance = 0
def Generate(self, cities):
random.shuffle(cities)
self.coords = cities
class Citymap():
def __init__(self, nr):
self.Nr_of_cities = nr
self.cities = []
def Generate_map(self):
for i in range(0, self.Nr_of_cities):
self.cities.append((random.randint(0, 750), random.randint(0, 750)))
city = Citymap(6)
city.Generate_map()
a = Route()
a.Generate(city.cities)
b = Route()
b.Generate(city.cities)
print a.coords
print b.coords
a和b的输出:
[(429, 713), (336, 611), (555, 465), (397, 227), (222, 412), (491, 322)]
[(429, 713), (336, 611), (555, 465), (397, 227), (222, 412), (491, 322)]
a 和 b 应该是不同的实例,但不知何故,它们最终共享了“坐标”变量。有人可以帮我吗?