海龟图形无响应
我正在用Python的turtle库创建图形,基本上是成功的,但有一个问题。一旦turtle生成了我代码中的图形,程序就会显示“没有响应”,最后我只能结束这个任务。我是在Windows 7上操作的。
你们有没有遇到过这个问题,或者知道原因是什么?我尝试过完全重新安装Python,但似乎没有解决这个问题。
下面是一些示例代码,会导致程序没有响应:
import turtle
from turtle import forward, right, left
forward(50)
12 个回答
5
我在使用 Python 3.6.0 的时候也遇到了同样的问题。在你的代码块后面加上 turtle.done()
可以让海龟图形窗口保持响应,不会变得无反应。
import turtle
for _ in range(5):
turtle.forward(100)
turtle.right(360/5)
turtle.done() # <------------
10
只需要在最后加上一个调用 exitonclick
的语句就可以了。Turtle 类是用 Tkinter 实现的,而 exitonclick()
会调用 mainloop()
,这样就能让海龟窗口保持打开状态,直到你在画布上点击任意地方。所以,一个简单的程序看起来是这样的:
from turtle import *
#make a square
for _ in range(4):
forward(100)
left(90)
exitonclick()
玩得开心!
24
我之前也遇到过同样的问题(我当时用的是Win 7,后来在Win XP上也遇到了同样的问题),我刚刚搞明白了。
你需要在完成后输入 turtle.done()
。
现在我明白了,因为Python不知道海龟(turtle)已经完成,所以它可能在等着你给海龟发另一个指令。
这是我认为你在用的库的文档(在Python 2.7中)。我就是通过这个文档搞明白的。虽然上面写的是Python 2.7,但在Python 2.5中也可以用。
http://docs.python.org/library/turtle.html
希望这对你有帮助(或者对其他看到这个的人有帮助),
Alex