我已经开始在Python 3.5上试验龟了,我遇到了一个奇怪的错误。我的代码是:
import turtle
wn = turtle.Screen()
bob = turtle.Turtle()
bob.forward(150)
bob.left(90)
bob.forward(75)
奇怪的是,当我第一次跑这个时,它工作得很好,但现在每次都显示一个空白的龟屏幕。当我逐行运行时,我从第3行开始收到此错误消息:
追踪(最近一次呼叫最后一次):
文件“pyshell#2”,第1行,in bob = turtle.Turtle()
文件“/usr/lib/python3.5/turtle.py”,第3816行, init 可见=可见)
文件“/usr/lib/python3.5/turtle.py”,第2557行, init self._update()
文件“/usr/lib/python3.5/turtle.py”,第2660行,在_update中 self._update_data()
文件“/usr/lib/python3.5/turtle.py”,第2646行,在_update_data中 self.screen._incrementudc()
文件“/usr/lib/python3.5/turtle.py”,第1292行,在_incrementudc中
raise Terminator
turtle.Terminator
如果我在此之后尝试调用bob,shell会告诉我它没有定义...任何帮助都很感激!
答案 0 :(得分:1)
我的猜测:我相信您触发的错误是:
if not TurtleScreen._RUNNING:
TurtleScreen._RUNNING = True
raise Terminator
我假设您没有运行文件,而是将命令粘贴到解释器中 - 这很好。但如果你关闭龟图形窗口,它将不会为你重新打开。您可以尝试重新重新启动解释器,或者您可以尝试执行turtle.bye()
然后再次运行命令 - 有时它可以重新打开窗口,有时它不会。
答案 1 :(得分:0)
我在Turtle图形和PythonWin中遇到了相同的问题。在第二次运行时,将显示屏幕,但是当实例新的Turtle类时,脚本将挂起。 但是当我使用IDLE运行它时,脚本可以一遍又一遍地运行。