如何解决运行turtle.py时出现问题,似乎无法让模块正常运行
我是新来的,还在学校所以很抱歉,如果这很简单,但我似乎无法让乌龟在 pycharm 或任何其他 IDE 中工作。如果有人有任何信息,请告诉我。
我的代码:
#Super basic code to test turtle in pycharm
import turtle
wn = turtle.Screen()
yertle = turtle.Turtle()
wn.exitonclick()
yertle.forward(100)
yertle.left(120)
yertle.forward(100)
窗口关闭后出错:
Traceback (most recent call last):
File "C:\Users\Tom\PycharmProjects\pythonProject\main.py",line 6,in <module>
yertle.forward(100)
File "C:\Program Files\python39\lib\turtle.py",line 1638,in forward
self._go(distance)
File "C:\Program Files\python39\lib\turtle.py",line 1606,in _go
self._goto(ende)
File "C:\Program Files\python39\lib\turtle.py",line 3159,in _goto
screen._pointlist(self.currentLineItem),File "C:\Program Files\python39\lib\turtle.py",line 756,in _pointlist
cl = self.cv.coords(item)
File "<string>",line 1,in coords
File "C:\Program Files\python39\lib\tkinter\__init__.py",line 2762,in coords
self.tk.call((self._w,'coords') + args))]
_tkinter.TclError: invalid command name ".!canvas"
解决方法
问题是当你调用 turtle.exitonclick()
方法时,它告诉乌龟
嘿,程序结束了,是时候让用户点击关闭窗口了。
现在,您会收到错误消息,因为在窗口关闭后,程序还有一些海龟命令要执行,而这些命令需要一个海龟窗口才能运行。
修复很简单,将 wn.exitonclick()
调用重新定位到代码的底部,在那里您确定程序已经结束:
import turtle
wn = turtle.Screen()
yertle = turtle.Turtle()
yertle.forward(100)
yertle.left(120)
yertle.forward(100)
wn.exitonclick()
您需要将 wn.exitonclick()
下移到脚本的末尾。该调用在窗口关闭之前不会返回,因此您对 yertle
的三个命令正在执行,但为时已晚。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。