我需要为在水平线上移动的汽车创建一个类。构造函数必须只有一个参数,这就是它让我失望的地方。我只能有一个参数来初始化bug的初始位置。它应默认值为0,初始方向应始终为1。但我不确定如果没有构造函数中的2个参数,我可以做到这一点。我还需要两种用于移动和转动汽车的变换器方法以及一种显示汽车位置的存取方法。
示例:position 5 direction right: .....>; position 2 direction left: ..<
class Bug:
def __init__(self, iPosition=0):
self.position = iPosition
def move(self):
pos = self.postion
def turn(self):
direction = self.position
def display(self):
if direction < 0:
x = '<'
elif direction > 0:
x = '>'
for i in range(pos):
y = '.' + y
return (y,x)
答案 0 :(得分:1)
display()函数中的代码应该给你答案。它向左移动负方向。因此,构造函数参数中的负值可以表示向左移动。
答案 1 :(得分:0)
这可能更符合您的需求:
class Bug:
def __init__(self, iPosition=0):
self.position = iPosition
self.direction = 1
def move(self, distance=1):
self.position += self.direction * distance
def turn(self):
self.direction = -self.direction
def display(self):
if self.direction < 0:
x = '<'
elif self.direction > 0:
x = '>'
y = ''
for i in range(self.position): # this is not right if position is negative; maybe abs()?
y = '.' + y
return (y,x)