Python turtle.Screen() 每次都冻结并崩溃

Python turtle.Screen() freezes and crashes every time

我正在制作一个 space 入侵者克隆只是为了学习一点 Python 因为我刚开始使用它。我做了一个 turtle.Screen() 但每次我 运行 它,它立即冻结并崩溃。有谁知道是什么导致了这个问题?

     import turtle
     from turtle import forward, right, left
     forward(50)
     import os
     import math
     import random
     import shelve

     wn = turtle.Screen()
     wn.bgcolor("black")
     wn.title("Space invaders")

     border_pen = turtle.Turtle()
     border_pen.speed(0)
     border_pen.color("white")
     border_pen.penup()
     border_pen.setposition(-300, -300)
     border_pen.pendown()
     border_pen.pensize(3)
     for side in range(4):
              border_pen.fd(600)
              border_pen.lt(90)
     border_pen.hideturtle()

     delay = input("press enter to finish.")

调试时没有错误,尽管在"from turtle import forward, right, left"行,"forward, right, left"字由于某种原因被标记为红色。 (如果有任何有用的信息,我也在使用 pycharm 社区版。)

一旦(重新)正确缩进,它对我有用。我建议您摆脱所有不使用的导入,并合并为单个海龟导入。用于调试的稍微简化的乌龟代码:

from turtle import Turtle, Screen

wn = Screen()
wn.bgcolor("black")
wn.title("Space invaders")

border_pen = Turtle()
border_pen.speed("fastest")
border_pen.color("white")
border_pen.pensize(3)

border_pen.penup()
border_pen.setposition(-300, -300)
border_pen.pendown()

for side in range(4):
    border_pen.forward(600)
    border_pen.left(90)

border_pen.hideturtle()

wn.exitonclick()

然后检查这是否有效,如果无效,请向我们提供您收到的实际错误消息(例如,编辑您的原始问题以包含任何错误消息。)

嘿,我知道这已经过时了,但我正在按照您在 YouTube 上针对此 Space Invaders 游戏使用的相同教程进行操作,但我遇到了完全相同的问题。崩溃来自使用 "delay = input()"

只需删除底部的那个,然后像 cdlane 建议的那样用 wn.exitonclick() 替换它,这是一个完整的修复。

希望这对学习本教程并遇到困难的其他人有所帮助。