我有一个循环来打开电动机,将其关闭并睡眠60分钟,然后重复。我需要循环重复8次,然后完全关闭。
from adafruit_motorkit import MotorKit
import time
1. kit = MotorKit()
2.
3. while True:
4. endtime = time.time() + 1
5. while time.time() < endtime:
6. kit.motor1.throttle = 1
7. pass
8. print('endtime passed')
9. kit.motor1.throttle = 0
10. time.sleep(60*60)
11. print('done sleeping')
我希望循环运行1秒钟,然后睡眠60分钟,然后重复。我希望它重复8次。
答案 0 :(得分:0)
我认为您通常是Python和编程的新手。由于您知道要执行8次相同的活动,因此应使用for
循环而不是while
。您可以使用while
循环,但这将使您的代码更具可读性。
使用模块time
以获得当前时间,并使用条件time.time() < t_end
运行while循环一秒钟。在while循环内,放入要执行的逻辑,在这种情况下,它只是行kit.motor1.throttle = 1
。
我认为您可以使用以下内容:
import time
from adafruit_motorkit import MotorKit
kit = MotorKit()
for _ in range(8):
t_end = time.time() + 1
while time.time() < t_end:
kit.motor1.throttle = 1
print('endtime passed')
kit.motor1.throttle = 0
time.sleep(60*60)
print('done sleeping')