问题描述
在python中创建一个从00:00:00开始的计时器。如果被键盘中断,计时器应暂停/恢复。请帮助我理解如何使用 KeyboardInterrupt 来暂停/恢复计时器。
import time
def timer():
for i in range(12):
for j in range(60):
for k in range(60):
try:
print("{:02d}:{:02d}:{:02d}".format(i,j,k))
time.sleep(1)
# except KeyboardInterrupt:
# print('Break')
解决方法
这很丑但有效?
import time
def timer(pause_i,pause_j,pause_k):
for i in range(pause_i,12):
for j in range(pause_j,60):
for k in range(pause_k,60):
try:
print(f"{i:02d}:{j:02d}:{k:02d}")
time.sleep(1)
except KeyboardInterrupt:
try:
input('\nCtrl+C to resume\n')
except KeyboardInterrupt:
timer(i + 1,j + 1,k + 1)
timer(0,0)
我觉得用key = input('...')
来恢复定时器比较好,比如
key = input('\ninput r to resume : ')
if key == 'r':
timer(i + 1,k + 1)