我想用海龟制作一个程序,使其随机移动50次,移动方向和距离都是随机的,并保持在x和y轴上的-300到300范围内(当达到边界时,通过向相反方向旋转并向前移动来保持在范围内)。
当if语句为真时,代码运行良好,但有时由于超出边界而执行else语句时,else语句会一遍又一遍地执行,直到计数达到50。换句话说,它沿着同一条线来回移动。我不明白为什么,因为当海龟反弹后,它应该位于边界内并再次运行if语句,而不是else语句。如何修复此问题,使海龟在反弹后继续其随机行走?谢谢。
以下是我的代码:
当if语句为真时,代码运行良好,但有时由于超出边界而执行else语句时,else语句会一遍又一遍地执行,直到计数达到50。换句话说,它沿着同一条线来回移动。我不明白为什么,因为当海龟反弹后,它应该位于边界内并再次运行if语句,而不是else语句。如何修复此问题,使海龟在反弹后继续其随机行走?谢谢。
以下是我的代码:
import turtle
import random
count = 0
while count <51:
count += 1
if (turtle.xcor() >-300 and turtle.xcor() <300) and\
(turtle.ycor() >-300 and turtle.ycor() <300):
turtle.forward(random.randint(30,100))
turtle.right(random.randint(0,360))
else:
turtle.right(180)
turtle.forward(300)