如果你不知道,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)
任何人都可以解释这种行为吗?注意直线。蟒蛇随机模块有什么问题吗?
答案 0 :(得分:7)
调试这样的问题时,在执行时可能需要打印出每条指令的值。希望您的龟环境有一种方法可以将值打印到屏幕上的某个窗口。你可能会这样做:
while(1):
r = random.randint(1,10)
print "going:", r
go (r)
r = random.randint(-90, 90)
print "turning:", r
turn (r)
这种技术有很多名字,但我喜欢的是“如果有疑问,请打印更多。”这样做可以让您深入了解乌龟为什么会显示您所看到的行为。
答案 1 :(得分:1)
我是PythonTurtle的创建者。
首先,我很荣幸在StackOverflow中看到关于它的第一个问题。
关于你的问题:我尝试运行代码,并没有产生错误,但由于这涉及随机性,我无法真正重现你计算机中发生的事情。
这似乎是一个错误,但我无法猜出造成它的原因。如果你再次遇到这种错误,最好不要涉及随机性,如果你给我发送屏幕截图和代码片段,我将不胜感激。我的邮件是cool-rr@cool-rr.com。
答案 2 :(得分:0)
尝试打印出值。这是一个基于你的代码片段的Python程序:
import random
while(1):
distance = random.randint(1,10)
angle = random.randint(-90, 90)
print distance, angle
我自己尝试了这一点,并且在任何时候角度都“陷入困境”。我怀疑在python龟中可能存在某种错误,但是在没有尝试的情况下很难确定。
有没有办法向python龟询问龟的当前角度?您可能还希望打印出该值。