2017-10-17 59 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

私は申し訳ありませんが、私はアンドロイドのアプリでこの答えを書いていますし、場合、私はわかりませんコードは強調表示されているはずですが、次のように試すことができます:

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

あなたのコードがうまくいかなかったのは、exitをクリックすることですでに以前に 'def'関数でタートルのインスタンスを削除または終了していたからです。したがって 'turt'を 'turt'として使用することで、もう一度呼び出して新しいインスタンスを作成します。お役に立てれば!