如何把这个代码压缩到只要4行就可以解决问题。
#如何把这个代码压缩到只要4行就可以执行一样的效果。只要用python就行。Flyer.step(2)
Flyer.step(1)
Flyer.step(2)
Flyer.step(3)
Spaceship.step(1)
Spaceship.turnRight()
Spaceship.step(3)
Spaceship.turnRight()
Spaceship.turnRight()
Spaceship.step(3)
Spaceship.turnRight()
Spaceship.step(4)
Spaceship.turnRight()
Spaceship.step(2)
Spaceship.turnRight()
Spaceship.turnRight()
Spaceship.step(2)
Spaceship.turnRight()
Spaceship.step(4)
Spaceship.turnRight()
Spaceship.step(3)
Spaceship.turnRight()
Spaceship.turnRight()
Spaceship.step(3)
Spaceship.turnRight()
Spaceship.step(2)
Spaceship.turnRight()
Spaceship.step(2)
Spaceship.turnRight()
Spaceship.turnRight()
Spaceship.step(2)
Spaceship.turnRight()
Spaceship.step(2)
Spaceship.turnRight()
Spaceship.step(2)
Spaceship.turnRight()
Spaceship.turnRight()
Spaceship.step(2)
Spaceship.turnRight()
Spaceship.step(4)
Spaceship.turnRight()
Spaceship.step(4) 你确定可以???
拭目以待。感觉无能为力!
用循环一句,加变量需要两句(赋初值一句,根据条件变换一句),再加上另外的。
楼主,建议你在每句代码后面加分号,这样看起来 是一句就能解决啦。 抛砖引玉,前4行的实现没想出方法,我不知道python里能实现这样的语句吗:Flyer.step(2),看看有没有高手能告知一二。后面的想了个办法,用一个字符串作为数据索引,下面代码模拟一个环境,只运算前10行,给大家参考(本来可以遍历字符串本身,代码会简单点,后来考虑前4行的实现,就改成了数字索引):
class SpaceShip:
def step(self,s):
print('step ',s)
def turnRight(self):
print('turnright')
Spaceship=SpaceShip()
s='1R3RR3R4R2'
for i in range(len(s)):
Spaceship.step(int(s)) if s.isdigit() else Spaceship.turnRight() 这个代码就是。一个小程序里来控制里面游戏人物行动的。
页:
[1]