Захватите время в начале каждого раунда и проверьте, прошли ли 60 секунд.
if __name__ == '__main__':
import time
init_GPIO()
init_interrupt()
while True:
start_time = time.time() # seconds since unix time
end_time = start_time + 60
list_speeds = list()
while time.time() < end_time:
km_per_hour = calculate_speed(40)
list_speeds.append(km_per_hour)
print('kmh:{1:.0f}'.format(km_per_hour))
sleep(0.1)
else: # while-else
feed_your_dino(list_speeds)
Если вы не хотите блокировать свои входы, вы можете сделать следующее, чтобы запустить функциюв новой теме, не блокируя вашу программу:
if __name__ == '__main__':
import time, threading
init_GPIO()
init_interrupt()
while True:
start_time = time.time() # seconds since unix time
end_time = start_time + 60
list_speeds = list()
while time.time() < end_time:
km_per_hour = calculate_speed(40)
list_speeds.append(km_per_hour)
print('kmh:{1:.0f}'.format(km_per_hour))
sleep(0.1)
else: # while-else
th_my_ai = threading.Thread(target=feed_your_dino, args=(list_speeds,))
th_my_ai.start()