Ситуация: вывод подсказки на экран с таймером обратного отсчета
Быстрый пример:
Enter selection, default choice will be selected after timer runs out
Timer: 01:05
(1) Selection 1 (Default)
(2) Selection 2
(3) Selection 3
Selection:
Таймер должен продолжать работать, в то время как пользователь должен иметь возможность вводить выбор непрерывно. Вот код для таймера. На данный момент все печатается с использованием print()
.
def countdown(t):
while t:
mins, sec = divmod(t, 60)
hours, mins = divmod(mins, 60)
timeformat = '{:02d}:{:02d}:{:02d}'.format(hours, mins, secs)
print(timeformat, end='\r')
time.sleep(1)
t -= 1
Проблема: это будет означать, что приглашение и таймер обратного отсчета (на данный момент мой таймер блокирует [вызывается из метода]) должны быть взаимоисключающими
Вопрос: Как сделать эти два фрагмента текста независимыми друг от друга, чтобы таймер продолжал отсчитывать время, но обратный отсчет таймера не влияет на запрос и ввод пользователя (с использованием «\ r»)