当我使用龟模块用这个简单的函数画一个圆圈时:
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 :(得分:0)
我很抱歉,但我在Android应用程序中写了这个答案,我不确定代码是否突出显示,因为它应该是或不是,但你可以尝试以下 -
def draw_shape(self):
import turtle as t
canvas = Screen()
t.circle(self.r)
canvas.exitonclick()
您的代码无法正常工作的原因是因为您已经删除或退出了&#39; def&#39;中的海龟实例。通过单击退出,功能已经一次。因此,通过使用“导入龟”作为t&#39;你再次调用它并创建一个新实例。希望这有帮助!
答案 1 :(得分:0)
这是由t = Turtle()引起的。你可以在函数的末尾添加turtle.bye()。