1 回答
TA贡献1877条经验 获得超6个赞
让我担心的是,您能够bob.update()成功调用,因为update()这不是随 Python 3 或 Python 2 发布的标准turtle.py 中的方法。Turtle您可能正在使用较旧的或非标准的turtle 实现,因此某些下面可能需要调整。
让我们使用一个turtle事件,而不是引入time.sleep()与turtle自己的事件处理程序不同步的:ontimer()
from turtle import Screen, Turtle
def vshape():
turtle.right(25)
turtle.forward(50)
turtle.backward(50)
turtle.left(50)
turtle.forward(50)
turtle.backward(50)
turtle.right(25)
def snowflakeArm():
for _ in range(4):
turtle.forward(30)
vshape()
turtle.backward(120)
def snowflake(angle, position):
turtle.setheading(angle)
turtle.penup()
turtle.setposition(position)
turtle.pendown()
for _ in range(360 // 60):
snowflakeArm()
turtle.right(60)
angle = 0
def snowflakes():
global angle
turtle.clear()
snowflake(angle, (0, 0))
snowflake(angle, (350, 0))
snowflake(angle, (-350, 0))
snowflake(angle, (0, 350))
snowflake(angle, (0, -350))
screen.update()
angle = (angle + 10) % 360
screen.ontimer(snowflakes, 25) # repeat 25 milliseconds from now
screen = Screen()
screen.tracer(False)
turtle = Turtle()
turtle.hideturtle()
turtle.pencolor('blue')
turtle.pensize(5)
snowflakes()
screen.exitonclick()
这还应该允许我们通过单击窗口来干净地退出程序,而不会生成所有这些警告消息。
添加回答
举报