如何在编写代码后关闭Python turtle窗口?

如何在编写代码后关闭Python turtle窗口?,python,python-3.x,turtle-graphics,Python,Python 3.x,Turtle Graphics,我正在用Python3.5编写一个包含海龟图形的简单程序 我有一个问题:海龟工作完成后,用户必须手动关闭窗口 有没有办法在海龟工作完成后编程关闭窗口 非常感谢您的帮助。请尝试在文件末尾单击()或()关闭窗口。turtle.bye(),又名turtle.Screen().bye(),关闭turtle图形窗口 通常,如果缺少turtle.mainloop(),或它的一个变体,将导致窗口关闭,因为程序将退出,关闭所有内容turtle.mainloop()应该是turtle图形程序中执行的最后一条语句,

我正在用Python3.5编写一个包含海龟图形的简单程序 我有一个问题:海龟工作完成后,用户必须手动关闭窗口

有没有办法在海龟工作完成后编程关闭窗口

非常感谢您的帮助。

请尝试在文件末尾单击()或()关闭窗口。

turtle.bye()
,又名
turtle.Screen().bye()
,关闭turtle图形窗口

通常,如果缺少
turtle.mainloop()
,或它的一个变体,将导致窗口关闭,因为程序将退出,关闭所有内容
turtle.mainloop()
应该是turtle图形程序中执行的最后一条语句,除非脚本是从Python IDLE-n中运行的,Python IDLE-n禁用了
turtle.mainloop()
和变体

turtle.Screen().mainloop()和
turtle.done()
turtle.mainloop()的变体

turtle.exitonclick()
aka
turtle.Screen().exitonclick()
绑定Screen click事件以执行
turtle.bye()
,然后在文件末尾调用
turtle.mainloop()
添加
tkinter.mainloop()

范例

import turtle
import tkinter as TK

t = turtle.Pen()
for x in range(100):
    t.forward(x)
    t.left(90)

TK.mainloop()

除了这两种方法,还有其他方法吗?我正在使用IDLE运行一个代码,但它的运行结果与我预期的不一样。
turtle.done()
不关闭窗口,它是
turtle.mainloop()
的同义词,它将控制权转移到tkinter事件循环,该循环将窗口保持打开状态,直到某个用户操作关闭它!此代码不能如图所示工作,建议的解决方案与OP所追求的相反--
mainloop()
保持窗口打开,而不是关闭窗口。关闭文件末尾的
mainloop()
将允许关闭窗口。这没有帮助,下一次运行将以奇怪的错误结束:`\AppData\Local\Programs\Python\Python39\lib\turtle.py in\u update\u data(self)2645 2646 def\u update\u data(self):->2647 self.screen.\u incrementudc()2648如果自己在屏幕上。\u updatecounter!=0:2649返回~\AppData\Local\Programs\Python\Python39\lib\turtle.py,如果不是TurtleScreen,则递增UDC(self)1291。_RUNNING:1292 TurtleScreen。_RUNNING=True->1293提出终止符`@bmi,如果您需要问题的帮助,请向SO发布问题(不在注释中),包括您的(runnable)代码和错误消息。cdlane,我终于找到了一个解决方案,让其他人知道这个解决方案并不总是有效并不丢脸。不要害怕。