Python Turtle在运行代码时显示空白屏幕

时间:2017-03-08 16:14:40

标签: python python-3.x turtle-graphics

我已经开始在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会告诉我它没有定义...任何帮助都很感激!

2 个答案:

答案 0 :(得分:1)

我的猜测:我相信您触发的错误是:

   if not TurtleScreen._RUNNING:
        TurtleScreen._RUNNING = True
        raise Terminator

我假设您没有运行文件,而是将命令粘贴到解释器中 - 这很好。但如果你关闭龟图形窗口,它将不会为你重新打开。您可以尝试重新重新启动解释器,或者您可以尝试执行turtle.bye()然后再次运行命令 - 有时它可以重新打开窗口,有时它不会。

答案 1 :(得分:0)

我在Turtle图形和PythonWin中遇到了相同的问题。在第二次运行时,将显示屏幕,但是当实例新的Turtle类时,脚本将挂起。 但是当我使用IDLE运行它时,脚本可以一遍又一遍地运行。