【发布时间】:2013-11-23 20:27:52
【问题描述】:
我正在尝试以类似图形的方式模拟沿道路行驶的汽车。每个 Road 对象都有一个来源和目的地。当一辆车到达路的尽头时,我想让路把它送到下一条路的起点。对于 Road 类,我的代码如下所示:
from collections import deque
class Road:
length = 10
def __init__(self, src, dst):
self.src = src
self.dst = dst
self.actualRoad = deque([0]*self.length,10)
Road.roadCount += 1
def enterRoad(self, car):
if self.actualRoad[0] == 0:
self.actualRoad.appendleft(car)
else:
return False
def iterate(self):
if self.actualRoad[-1] == 0:
self.actualRoad.appendleft(0)
else:
dst.enterRoad(actualRoad[-1]) #this is where I want to send the car in the last part of the road to the destination road!
def printRoad(self):
print self.actualRoad
testRoad = Road(1,2)
testRoad.enterRoad("car1")
testRoad.iterate()
在上面的代码中,问题出在方法iterate()的else部分:如何从当前对象的方法中调用另一个对象的方法?两种方法都在同一个类中。
【问题讨论】: