我必须用tkinter绘制圣诞老人的房子,但是当使用下面的代码时它就会在第一行之后停止
首先我导入乌龟并打开gui屏幕
import turtle as t
t.Screen()
然后我使用此代码
>>> s = 100
>>> points = [(s,0), (s,s), (0,0), (s,s), (s/2.,2.*s), (0,s), (s,0)]
>>> for p in points:
t.goto(p)
t.mainloop()
但它在第一行后停止,我该如何解决这个问题?
答案 0 :(得分:3)
正如turtle.mainloop
的文档中所指定的那样:
turtle.mainloop()
启动事件循环 - 调用Tkinter的mainloop函数。必须是海龟图形程序中的最后一个语句。如果脚本在-n模式下从IDLE内运行(无子进程) - 用于交互式使用的龟图形
,则不能使用
然而,这不是最后一个声明:point
中的每个points
都会调用它。因此,您必须将程序重写为:
for p in points:
t.goto(p)
t.mainloop()
如果你阅读规范的第二个粗体部分,甚至不需要调用它:你的程序不是交互式的。所以下面的程序就足够了:
import turtle as t
t.Screen()
for p in points:
t.goto(p)