如何在此代码 Python 中处理 ValueError? [复制]
Posted
技术标签:
【中文标题】如何在此代码 Python 中处理 ValueError? [复制]【英文标题】:How do i handle ValueError in this code Python? [duplicate] 【发布时间】:2018-12-22 08:06:02 【问题描述】:我以前做过这个,但我认为这个错误出现了,因为我没有循环代码,代码只工作一次,然后在第二次尝试时显示错误。
我的代码:
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: ")
我希望我的代码在我输入不是整数的东西时不会出错,但在用户输入整数之前不知道如何循环异常代码。
【问题讨论】:
为什么不把异常处理放到ask
函数本身呢?那么无论是否在循环中,都会处理异常。
wowzers 200 iq ok 我试试看
【参考方案1】:
将异常处理移至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: ")
【讨论】:
以上是关于如何在此代码 Python 中处理 ValueError? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
python 如何在不知道的情况下获取相对文件路径。在此示例中,Python代码,HTML文件。