Cont = 1
while Cont == 1:
try:
while Cont == 1:
counter = counter + 0.1
counter = round(counter, 1)
print(counter)
time.sleep(0.1)
if counter == crashNumber:
Cont = 0
except KeyboardInterrupt:
Multiplier = counter
在这里,计数器将继续计数,直到它达到crashNumber
,当Ctrl + C被按下时,它将获取counter
所在的数字,并将其用于Multiplier
稍后使用。
但是我只想让用户有机会按一次,然后它被禁用。有什么办法可以做到吗?
无论您是否想要,KeyboardInterrupt
异常都将被抛出:那么,解决方案是在except
块中以不同的方式处理异常。我选择的实现将使用一个简单的布尔值,以True
开始,并在第一次中断时设置为False
:
import time
allow_interrupt = True
while True:
try:
time.sleep(1)
print ('...')
except KeyboardInterrupt:
if allow_interrupt:
print ('interrupted!')
allow_interrupt = False
让我知道这是否符合您的用例