#python #python_3x
Как в питоне реализовать таймер обратного отчета ??? 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')
Ответы
Ответ 1
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]
Комментариев нет:
Отправить комментарий