如何在给定的时间内重复此代码

时间:2019-09-18 20:04:54

标签: python-3.x

我有一个循环来打开电动机,将其关闭并睡眠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次。

1 个答案:

答案 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')