Python 3.x Python上的多错误处理

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("

我想知道如何处理python上的多个错误

例如:

用户输入一个介于0和9之间的整数。如果整数超出范围,则程序会这样说,并要求另一个输入,直到获得有效输入。如果输入不是整数,那么程序会说它是无效输入,并要求另一个输入,直到获得有效输入。最后,如果没有提供输入,那么程序会说需要输入,并请求另一个输入,直到获得有效输入。对于单个输入变量,必须区分这三个错误


提前感谢您的帮助

类似的内容可能会有所帮助:

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