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

时间:2018-03-05 20:30:07

标签: python python-3.x crash freeze turtle-graphics

我正在制作一个太空入侵者克隆只是为了学习一点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社区版。)

2 个答案:

答案 0 :(得分:2)

嘿,我知道这很老了,但是我遵循的是与您在YouTube上制作的《太空入侵者》游戏使用的相同的教程,所以我遇到了同样的问题。崩溃来自使用“ delay = input()”

只需擦除底部的内容,然后像wnd.exitonclick()一样替换cdlane即可,这是一个完整的修复程序。

希望这可以帮助其他执行本教程并陷入困境的人。

答案 1 :(得分:1)

一旦(重新)正确缩进,它对我有用。我建议你摆脱你不使用的所有进口以及合并到单一的海龟进口。用于调试的略微简化的龟代码:

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()

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