【问题标题】:Python turtle.Screen() freezes and crashes every timePython turtle.Screen() 每次都会冻结和崩溃
【发布时间】:2018-03-05 20:30:07
【问题描述】:

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

我调试它时没有错误,虽然在“从乌龟导入前,右,左”行,“前,右,左”字由于某种原因被标记为红色。 (如果有任何有用的信息,我也在使用 pycharm 社区版。)

【问题讨论】:

  • 请使用缩进而不是块引用重新格式化,并提供您可能收到的任何错误消息
  • 那里,我修好了。

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


【解决方案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()

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

【讨论】:

    【解决方案2】:

    嘿,我知道这是旧的,但我在 YouTube 上为这个 Space Invaders 游戏遵循相同的教程,我遇到了同样的问题。崩溃来自使用“delay = input()”

    只需擦除底部的内容并将其替换为 wn.exitonclick() 就像 cdlane 建议的那样,这是一个完整的修复。

    希望这可以帮助其他任何人学习本教程并遇到困难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-21
      • 2017-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 2023-03-18
      相关资源
      最近更新 更多