[英]How to make all of my for loop runs at the same time
我很少有for循环,以0.5秒的间隔闪烁对象5秒钟。 我试图找出如何使所有这些对象同时闪烁,换句话说,我想同时运行所有的for循环。
需要帮忙!
count1=5
for k in range (count1):
error.setFill('grey')
time.sleep(.50)
error.setFill('orange')
time.sleep(.50)
for l in range (count1):
go.setFill('red')
time.sleep(.50)
go.setFill('green')
time.sleep(.50)
for m in range (count1):
warning.setFill('black')
time.sleep(.50)
warning.setFill('red')
time.sleep(.50)
for u in range (count1):
Verify.setFill('green')
time.sleep(.50)
Verify.setFill('grey')
time.sleep(.50)
for w in range (count1):
Launch.setFill('red')
time.sleep(.50)
Launch.setFill('green')
time.sleep(.50)
这是一种简单的方法,假设setFill()
足够快,因此它们似乎同时打开和关闭。
count1=5
for k in range (count1):
# Turn on
error.setFill('grey')
go.setFill('red')
warning.setFill('black')
Verify.setFill('green')
Launch.setFill('red')
time.sleep(.50)
# Turn off
error.setFill('orange')
go.setFill('green')
warning.setFill('red')
Verify.setFill('grey')
Launch.setFill('green')
time.sleep(.50)
在另一种情况下,您将需要为每个光源创建一个新线程。
既然所有循环都在count1
范围内运行,为什么不在同一循环中运行所有命令,例如:
count1=5
for n in range (count1):
# first line of each loop
error.setFill('grey')
go.setFill('red')
warning.setFill('black')
Verify.setFill('green')
Launch.setFill('red')
# pause and then third line of each loop
time.sleep(.50)
error.setFill('orange')
go.setFill('green')
warning.setFill('red')
Verify.setFill('grey')
Launch.setFill('green')
time.sleep(.50)
然后,它可以一次运行所有循环,或者宁愿在同一循环中运行,并且省力省力。 希望有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.