【问题标题】:screen just opens for a second and disappears屏幕只打开一秒钟然后消失
【发布时间】:2021-12-31 07:51:02
【问题描述】:

我刚刚尝试了一个在海龟图形中绘制星星的代码,该代码在 vs 代码中工作但屏幕只是打开一秒钟就消失了

import turtle
a = turtle. Turtle()
a.getscreen().bgcolor("black")

a.penup()
a.goto(-200, 100)
a.pendown()
a.color("yellow")
a.speed(25)

def star(turtle, size):
    if size <= 10:
        return
    else:
        turtle.begin_fill()
        for i in range(5):
            turtle.forward(size)
            star(turtle, size/3)
            turtle.left(216)
        turtle.end_fill()

star(a, 360)

turtle.done()

【问题讨论】:

  • 如所写,您的代码存在一些语法问题。请使用格式正确的代码edit
  • "但是屏幕只打开一秒钟就消失了" 用您自己的话来说,为什么会发生其他事情?你认为turtle.done() 是什么意思?在那之后,你的程序还有什么要做的吗?如果不是,那它为什么要保持打开状态?
  • 无论你说什么都是正确的 karl 但主要问题是屏幕在我运行代码后开始但甚至没有开始绘制星星屏幕在一秒钟内关闭所以这是问题,请帮助我出去
  • Raj:发布格式正确的代码很重要,以便其他人可以复制和运行它。
  • @KarlKnechtel:知道turtle.done()的意思/作用吗?

标签: python turtle-graphics


【解决方案1】:

由@OneCricketeer、@Jay 和@JanWilamowski 编辑,您的代码在我的系统上运行良好,并且图像很酷。

是的,代码存在问题,例如speed() 的参数超出范围,但无论如何它都知道如何应对。我会稍微不同地编写这段代码:

from turtle import Screen, Turtle

def star(turtle, size):
    if size <= 10:
        return

    turtle.begin_fill()

    for _ in range(5):
        turtle.forward(size)
        star(turtle, size/3)
        turtle.left(216)

    turtle.end_fill()

screen = Screen()
screen.bgcolor('black')

turtle = Turtle()
turtle.color('yellow')
turtle.speed('fastest')

turtle.penup()
turtle.goto(-200, 100)
turtle.pendown()

star(turtle, 360)

turtle.hideturtle()
screen.mainloop()

看看这是否有助于解决您的屏幕消失问题。如果没有,您可能不得不在程序之外寻找原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-03
    • 1970-01-01
    • 2021-04-26
    • 2021-06-25
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多