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()
這還應該允許我們通過單擊窗口來干凈地退出程序,而不會生成所有這些警告消息。
添加回答
舉報