【发布时间】:2017-03-25 05:07:54
【问题描述】:
我必须使用 Turtle 在 Python 中编写一个程序,该程序从文件中读取指令列表并根据输入绘制 Turtle 图。可能的输入是向前、向左、向右和拆分。如果输入被拆分,我必须克隆列表中的所有海龟并将新的海龟附加到列表中。所有新的克隆都应该右转 x 度。问题是,海龟无限期地克隆。
def navigate(directions):
turtles = []
commands = []
first = turtle.Turtle()
turtles.append(first)
turtle.width(10)
for turt in turtles:
turt.speed('fastest')
for step in directions:
if step[0] == 'forward':
turt.forward(step[1])
elif step[0] == 'left':
turt.left(step[1])
elif step[0] == 'right':
turt.right(step[1])
elif step[0] == 'split':
new = turt.clone()
turtles.append(new)
turt.right(step[1])
Directions 是一个元组列表,其中每个元组的第一个值是命令(例如向前、向左、向右或拆分),第二个是度数(向前走多远,要转弯多少度)。但是乌龟会永远克隆下去。如何调整此代码以使其仅克隆给定次数?这是我的示例输入文件:
forward 50
left 20
split 40
forward 50
left 20
split 40
forward 50
left 20
split 40
forward 50
left 20
split 40
forward 50
left 20
【问题讨论】:
标签: python-3.x turtle-graphics