Python 3.x Python上的多错误处理
我想知道如何处理python上的多个错误 例如: 用户输入一个介于0和9之间的整数。如果整数超出范围,则程序会这样说,并要求另一个输入,直到获得有效输入。如果输入不是整数,那么程序会说它是无效输入,并要求另一个输入,直到获得有效输入。最后,如果没有提供输入,那么程序会说需要输入,并请求另一个输入,直到获得有效输入。对于单个输入变量,必须区分这三个错误Python 3.x Python上的多错误处理,python-3.x,try-except,Python 3.x,Try Except,我想知道如何处理python上的多个错误 例如: 用户输入一个介于0和9之间的整数。如果整数超出范围,则程序会这样说,并要求另一个输入,直到获得有效输入。如果输入不是整数,那么程序会说它是无效输入,并要求另一个输入,直到获得有效输入。最后,如果没有提供输入,那么程序会说需要输入,并请求另一个输入,直到获得有效输入。对于单个输入变量,必须区分这三个错误 提前感谢您的帮助类似的内容可能会有所帮助: valid = False while not valid: in_val = input("
提前感谢您的帮助类似的内容可能会有所帮助:
valid = False
while not valid:
in_val = input("Enter an integer: ")
if not in_val:
print("No input was given, please try again.")
continue
try:
in_num = int(in_val)
if in_num < 0 or in_num > 9:
print("The value entered is out of the valid range (0-9).")
continue
valid = True
except ValueError:
print("The value entered was not a number, try again.")
continue
valid=False
虽然无效:
in_val=input(“输入一个整数:”)
如果不在值内:
打印(“未提供任何输入,请重试。”)
持续
尝试:
in_num=int(in_val)
如果in_num<0或in_num>9:
打印(“输入的值超出有效范围(0-9)。”
持续
有效=真
除值错误外:
打印(“输入的值不是数字,请重试。”)
持续
如果您想根据多个条件验证用户输入,并在其中任何一个条件失败时继续请求新输入,您可能需要一个循环,该循环将一直运行,直到得到有效的结果:
result = None
while result is None:
input_str = input("Enter an integer between 0 and 9:")
if input_str == "":
print("An empty input is not valid.")
else:
try:
result = int(input_str)
if not 0 <= result <= 9:
print("That number out of bounds.")
result = None
except ValueError:
print("That is not an integer.")
# do stuff with result here
result=None
结果是没有:
input_str=input(“输入一个介于0和9之间的整数:”)
如果输入_str==“”:
打印(“空输入无效。”)
其他:
尝试:
结果=整数(输入值)
如果不是0请尝试以下方法:
wrong = True
while wrong:
num = input("Enter a number between 0 and 9: ")
if not num:
print("Please enter valid input.")
continue
try:
num = int(num)
except ValueError:
print("Please enter valid input.")
continue
if num < 0 or num > 9:
print("Please enter a number between 0 and 9.")
continue
wrong = False
print(num)
您是否尝试过if
语句?我不认为OP询问的是命令行选项,因此这可能是一个很大的过度。
bash-3.2$
Enter a number between 0 and 9:
Please enter valid input.
Enter a number between 0 and 9:
Please enter valid input.
Enter a number between 0 and 9: hhello
Please enter valid input.
Enter a number between 0 and 9: 90
Please enter a number between 0 and 9.
Enter a number between 0 and 9: -2324
Please enter a number between 0 and 9.
Enter a number between 0 and 9: aisjdo93rwfeljks
Please enter valid input.
Enter a number between 0 and 9: 5
5