情况:使用倒数计时器将提示打印到屏幕上
简单示例:
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”)
答案 0 :(得分:1)
您需要一个单独的线程来更新计时器,并且需要一个线程来读取用户输入。