1 回答

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
讓我擔(dān)心的是,您能夠bob.update()成功調(diào)用,因?yàn)閡pdate()這不是隨 Python 3 或 Python 2 發(fā)布的標(biāo)準(zhǔn)turtle.py 中的方法。Turtle您可能正在使用較舊的或非標(biāo)準(zhǔn)的turtle 實(shí)現(xiàn),因此某些下面可能需要調(diào)整。
讓我們使用一個(gè)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()
這還應(yīng)該允許我們通過(guò)單擊窗口來(lái)干凈地退出程序,而不會(huì)生成所有這些警告消息。
添加回答
舉報(bào)