如果你不知道,python turtle是一个帮助人们学习python的应用程序。您将获得一个python解释器和一个屏幕上的乌龟,您可以将指示传递给使用python。
go(10)将使龟移动10个像素转(10)将使其顺时针旋转10度
现在看看这个
码:
import random
while(1):
r = random.randint(1,10)
go (r)
r = random.randint(-90,90)
turn (r)
有谁能解释这种行为?注意直线。蟒蛇随机模块有什么问题吗?
在调试这样的问题时,可能需要在执行时打印出每条指令的值。希望您的龟环境有一种方法可以将值打印到屏幕上的某个窗口。你可能会这样做:
while(1):
r = random.randint(1,10)
print "going:", r
go (r)
r = random.randint(-90, 90)
print "turning:", r
turn (r)
这种技术有很多名字,但我喜欢的是“当有疑问时,打印得更多”。这样做可以提供一些洞察你的乌龟显示你看到的行为的原因。
我是PythonTurtle的创造者。
首先,我很荣幸在StackOverflow中看到关于它的第一个问题。
关于你的问题:我尝试运行代码,它没有产生错误,但由于这涉及随机性,我无法真正重现你的计算机中发生的事情。
这似乎是一个错误,但我无法猜测导致它的原因。如果你再次遇到这种错误,最好不要涉及随机性,如果你给我发送屏幕截图和代码片段,我将不胜感激。我的邮箱是[email protected]。
尝试打印出值。这是一个基于你的代码片段的Python程序,它执行此操作:
import random
while(1):
distance = random.randint(1,10)
angle = random.randint(-90, 90)
print distance, angle
我自己试了一下,并没有任何角度“卡住”。我怀疑python龟可能存在某种错误,但如果没有在那种环境中尝试,很难肯定。
有没有办法问python龟目前的龟角?您可能还想打印该值。