【问题标题】:Having issues running turtle.py, can't seem to get the module to run properly运行 turtle.py 时出现问题,似乎无法让模块正常运行
【发布时间】:2021-02-02 04:42:47
【问题描述】:

我在这里还很新,还在上学,所以很抱歉,如果这很简单,但我似乎无法让 turtle 在 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"

【问题讨论】:

    标签: python python-3.x tkinter-canvas python-turtle


    【解决方案1】:

    问题是当你调用turtle.exitonclick() 方法时,它告诉turtle

    嘿,程序结束,是时候让用户通过点击关闭窗口了。

    现在,您会收到错误消息,因为在窗口关闭后,程序需要执行更多的海龟命令,而这些命令需要在海龟窗口上运行。

    修复很简单,将 wn.exitonclick() 调用重新定位到代码底部,您可以确定程序已经结束:

    import turtle
    
    wn = turtle.Screen()
    
    yertle = turtle.Turtle()
    yertle.forward(100)
    yertle.left(120)
    yertle.forward(100)
    
    wn.exitonclick()
    

    您需要将wn.exitonclick() 移到脚本的末尾。在窗口关闭之前调用不会返回,因此您对yertle 的三个命令正在执行,但为时已晚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      • 2023-03-05
      • 2013-06-09
      • 2015-06-23
      • 1970-01-01
      相关资源
      最近更新 更多