我正在用Python turtle做一个红绿灯,在序列的最后,我希望所有的灯都闪烁黄色
这是我的密码。我只想让三只乌龟同时移动/眨眼 就像一个坏了的红绿灯。 我不知道怎么做。 如果你想看到我所有的代码,请告诉我答案我正在用Python turtle做一个红绿灯,在序列的最后,我希望所有的灯都闪烁黄色,python,turtle-graphics,Python,Turtle Graphics,这是我的密码。我只想让三只乌龟同时移动/眨眼 就像一个坏了的红绿灯。 我不知道怎么做。 如果你想看到我所有的代码,请告诉我答案 #flash speed(20) #pens pen1 = Turtle() pen2 = Turtle() pen3 = Turtle() #loop def loop(): while True: pen1.penup() pen1.color('yellow') pen1.goto(0,90) pen1.begin_fill()
#flash
speed(20)
#pens
pen1 = Turtle()
pen2 = Turtle()
pen3 = Turtle()
#loop
def loop():
while True:
pen1.penup()
pen1.color('yellow')
pen1.goto(0,90)
pen1.begin_fill()
pen1.pendown()
pen1.circle(40)
pen1.penup()
pen1.end_fill()
pen1.color('black')
time.sleep(1)
pen1.begin_fill()
pen1.pendown()
pen1.circle(40)
pen1.penup()
pen1.end_fill()
time.sleep(1)
while True:
pen2.penup()
pen2.color('yellow')
pen2.goto(0,-140)
pen2.begin_fill()
pen2.pendown()
pen2.circle(40)
pen2.penup()
pen2.end_fill()
pen2.color('black')
time.sleep(1)
pen2.begin_fill()
pen2.pendown()
pen2.circle(40)
pen2.penup()
pen2.end_fill()
time.sleep(1)
return loop()
这里有一个基于两个关键点的解决方案:第一,海龟不是用来画交通灯的,海龟是交通灯;其次,我们使用turtle中的
ontimer
事件来控制闪烁:
from turtle import Turtle, Screen
CURSOR_SIZE = 20
def blink():
for turtle in screen.turtles():
turtle.fillcolor('yellow' if turtle.fillcolor() == 'black' else 'black')
screen.ontimer(blink, 1000)
screen = Screen()
pen1 = Turtle(shape='circle')
pen1.shapesize(80 / CURSOR_SIZE)
pen1.color('black', 'yellow')
pen1.penup()
pen1.sety(90)
pen2 = pen1.clone()
pen2.sety(0)
pen3 = pen1.clone()
pen3.sety(-90)
blink()
screen.mainloop()
这看起来不像python…while循环将永远运行,所以我想它不会进入第二个循环…那么我该如何修复它?如果这真的是python,请正确缩进代码,这样它至少可以执行。标签在堆栈溢出时表现不佳。请使用4-空格缩进。StephenC,ibug这是一个与python相关的问题。它是和