我之前已经做过,但我认为此错误正在显示,因为我没有循环代码,该代码仅工作一次,然后第二次尝试显示错误。
我的代码:
import string
import time
def timer(x):
for n in range(x,0,-1):
time.sleep(1)
print(n)
print("Times Up"+"\n")
ask("Time for: ")
def ask(a):
x=int(input(str(a)))
print("\n"+"Clock's Ticking")
timer(x)
try:
ask("Time for: ")
except ValueError:
ask("Enter a number to time: ")
我希望我的代码在输入非整数的内容时不会出错,但是在用户输入整数之前不知道如何循环执行异常代码。
答案 0 :(得分:0)
将异常处理移至ask
函数:
import string
import time
def timer(x):
for n in range(x,0,-1):
time.sleep(1)
print(n)
print("Times Up"+"\n")
ask("Time for: ")
def ask(a):
x = None
while x is None:
try:
x=int(input(str(a)))
except ValueError:
print('Enter a number to time!')
timer(x)
ask("Time for: ")