目前我有这个:
try:
number = int(input('Please enter a number greater than 20'))
if number > 20:
print(number)
except ValueError:
print('We encountered an error. Please try again.')
有没有办法将if语句集成到try中?基本上,如果输入不大于20,则转到除ValueError行之外。我有点理解try语句是如何工作的,但我只能将它用于非常简单的事情,我试着阅读它并且我只是感到困惑。任何帮助将不胜感激。
答案 0 :(得分:2)
您可以更改逻辑并测试数字是否无效以及raise ValueError()
try:
number = int(input('Please enter a number greater than 20'))
if number <= 20:
raise ValueError()
print(number)
except ValueError:
print('We encountered an error. Please try again.')
您可以在构造函数Value('Value <= 20')
中添加消息,但是您不会在except
子句中打印出消息,因此不需要。
你可以将它包装成永久循环:
while True:
try:
number = int(input('Please enter a number greater than 20'))
if number <= 20:
raise ValueError()
print(number)
except ValueError:
print('We encountered an error. Please try again.')
else:
break
答案 1 :(得分:0)
您可以在try块中引发/抛出ValueError异常,如下所示: