这里是编码和 Python 的完全初学者,所以请耐心等待。我正在尝试解决这个问题:
精灵是一种简单的蜘蛛形状的东西,有n条腿从中心点伸出。每条腿之间的角度为 360 / n 度。
我的移动变量遇到问题。我可以让它适用于单个值,但我希望它适用于用户输入的任何值。
import turtle
wn = turtle.Screen()
sprite = turtle.Turtle()
str_legs = input("How many legs does the sprite have?")
print(int(str_legs))
move = (360/int(str_legs))
for s in range (int(str_legs)):
sprite.fd(100)
sprite.home()
sprite.right(move)
move = ?
wn.exitonclick()
问题是
home()
总是将海龟置于相同的航向和位置(面向右侧)。相反,尝试找出如何返回家但保持乌龟开始当前腿时的航向。
import turtle
legs = 8
leg_size = 100
degrees_per_turn = 360 / legs
sprite = turtle.Turtle()
for _ in range(legs):
sprite.forward(leg_size)
sprite.backward(leg_size)
sprite.right(degrees_per_turn)
turtle.exitonclick()
如果您想坚持
home()
,您可以将一圈数量乘以到目前为止已完成的圈数:
# ...
for i in range(legs):
sprite.forward(leg_size)
sprite.home()
sprite.right(degrees_per_turn * (i + 1))
# ...