2017-10-17 148 views
0

当我使用龟模块来绘制这个简单的功能了一圈:Python的turtle.Terminator错误

def draw_shape(self): 
    canvas = Screen() 
    t = Turtle() 
    t.circle(self.r) 
    canvas.exitonclick() 

第一次时,我调用此函数它会打开一个新的窗口,并画了一个圈,我点击它即可退出,当我再次尝试从控制台菜单中调用这个函数,我得到一个错误:

Original exception was: 
Traceback (most recent call last): 
    File "main.py", line 136, in <module> 
    main() 
    File "main.py", line 132, in main 
    OPTIONS[user_input][1](shapes) 
    File "main.py", line 48, in handle_sixth_menu_option 
    t = Turtle() 
    File "/usr/lib/python3.6/turtle.py", line 3816, in __init__ 
    visible=visible) 
    File "/usr/lib/python3.6/turtle.py", line 2557, in __init__ 
    self._update() 
    File "/usr/lib/python3.6/turtle.py", line 2660, in _update 
    self._update_data() 
    File "/usr/lib/python3.6/turtle.py", line 2646, in _update_data 
    self.screen._incrementudc() 
    File "/usr/lib/python3.6/turtle.py", line 1292, in _incrementudc 
    raise Terminator 
turtle.Terminator 

回答

0

我很抱歉,但我写的Android应用这个答案,我不知道,如果代码突出显示,因为它应该是或不是,但你可以尝试以下 -

def draw_shape(self): 
       import turtle as t 
       canvas = Screen() 
       t.circle(self.r)              
       canvas.exitonclick() 

你的代码不工作的原因是因为你已经通过点击退出已经在'def'函数中删除或退出了乌龟实例。因此,通过使用“输入乌龟作为t”,您可以再次调用并创建一个新实例。希望这可以帮助!