【发布时间】:2022-01-15 16:03:55
【问题描述】:
我正在尝试创建一个使用异常验证用户输入的函数。
def int_input(message):
while True:
try:
x=int(input(f'{message}: '))
return x
break
except:
print("Enter a valid integer!")
print()
continue
a=int_input("请输入数字:") 打印(一)
代码看起来乱七八糟,有没有更好的写法?
【问题讨论】:
-
您可以使用
str.isnumeric进行检查。我会尽量避免一般情况下的异常,因为继续提高它们的成本有点高,但由于您只是在验证用户输入,我认为性能方面在这里并不重要。 -
在 Python 中使用异常是非常标准的 (Idiomatic Python: EAFP versus LBYL)。当然在这里你不需要
break,因为你在到达那条线之前就返回了,你不需要continue,因为无论如何循环都会继续。
标签: python function exception input