Страницы

Поиск по вопросам

четверг, 29 ноября 2018 г.

Как реализовать таймер?

Как в питоне реализовать таймер обратного отчета ???
import time def timer(t: int): for r in reversed(range(1, t + 1)): print(r, 'sec') time.sleep(1) a = timer(10) if a == None: print('Program is over') elif a == 5: print('34r34')


Ответ

import threading import random import time
def timer(t: int, result: list): def wait(c0=result.pop()): for r in reversed(range(1, t+1)): result.append(random.choice(range(4))) print('timer', r, result)
if result[-1] == c0: break else: time.sleep(1)
thr = threading.Thread(target=wait) thr.start() while thr.is_alive(): yield result
if __name__ == '__main__': stop = 3 result_ = [stop] # ждать 10 сек, пока в result_ не появится 3 for a in timer(10, result_): print('ожидание', stop, a) # time.sleep(1)
if 2 in result_: print('34r34') print('Program is over', result_)
out:
timer 10 [1] ожидание 3 [1] ожидание 3 [1] timer 9 [1, 2] ожидание 3 [1, 2] timer 8 [1, 2, 1] ожидание 3 [1, 2, 1] timer 7 [1, 2, 1, 3] 34r34 Program is over [1, 2, 1, 3]

Комментариев нет:

Отправить комментарий