如果你不知道,python turtle是一个帮助人们学习python的应用程序。您将获得一个python解释器和一个屏幕上的海龟,您可以使用python向它们传递方向。
go( 10 )将使乌龟移动10个像素turn(10)将使其顺时针旋转10度
现在看看这个

代码:
import random
while(1):
r = random.randint(1,10)
go (r)
r = random.randint(-90,90)
turn (r)有人能解释这种行为吗?注意这条直线。pythons的随机模块有问题吗?
发布于 2009-08-03 22:52:41
在调试这样的问题时,在执行时打印出每条指令的值可能是值得的。希望您的turtle环境能够将值打印到屏幕上的某个窗口。您可能会这样做:
while(1):
r = random.randint(1,10)
print "going:", r
go (r)
r = random.randint(-90, 90)
print "turning:", r
turn (r)这种技术有许多名称,但我喜欢的一种名称是“当有疑问时,打印更多内容”。这样做可能会让你深入了解为什么你的乌龟会表现出你所看到的行为。
发布于 2009-08-04 21:38:46
我是PythonTurtle的创建者。
首先,我真的很荣幸在StackOverflow中看到了关于它的第一个问题。
关于你的问题:我试着运行代码,它没有产生bug,但由于这涉及到随机性,我不能真正重现在你的计算机中发生的事情。
这看起来像是一个bug,但我真的猜不出是什么导致了它。如果这种bug再次发生在你身上,最好是在不涉及随机性的时候,如果你能给我发送屏幕截图和代码片段,我将不胜感激。我的邮箱是cool-rr@cool-rr.com。
发布于 2009-08-03 23:01:40
尝试将这些值打印出来。下面是一个基于您的代码片段的小Python程序,它可以做到这一点:
import random
while(1):
distance = random.randint(1,10)
angle = random.randint(-90, 90)
print distance, angle我自己也试过了,angle从来没有“卡住”过。我怀疑python turtle中可能存在某种bug,但如果不在该环境中尝试,就很难确定。
有没有办法向巨蟒乌龟询问乌龟当前的角度?您可能也想将该值打印出来。
https://stackoverflow.com/questions/1224944
复制相似问题