如何使用try函数处理python中的特定整数异常。如何使用try函数处理多个异常

如何使用try函数处理python中的特定整数异常。如何使用try函数处理多个异常,python,try-except,Python,Try Except,这段代码应该准确地告诉用户正在犯什么错误,并提示重试 如何为每个错误生成自定义错误消息 会有一个更简单的解决方案,比如c语言编程中的do-while吗 while True: height = int(input("Height: ")) try: check_answer = int(height) assert (int(height) > 0) assert (int(height) < 9) br

这段代码应该准确地告诉用户正在犯什么错误,并提示重试

如何为每个错误生成自定义错误消息

会有一个更简单的解决方案,比如c语言编程中的do-while吗

while True:
    height = int(input("Height: "))
    try:
        check_answer = int(height)
        assert (int(height) > 0)
        assert (int(height) < 9)
        break
    except ValueError:
        print("must enter a number")
    except (???):
        print("enter a number greater than 0")
    except (???):
        print("enter a number smaller than 9")

为True时:
高度=整数(输入(“高度:”)
尝试:
检查答案=int(高度)
断言(整数(高度)>0)
断言(整数(高度)<9)
打破
除值错误外:
打印(“必须输入一个数字”)
除(?):
打印(“输入一个大于0的数字”)
除(?):
打印(“输入一个小于9的数字”)

如果必须使用
assert
语句,可以将消息作为第二个参数传递,使其成为
AssertionError
异常的消息:

while True:
    try:
        height = int(input("Height: "))
        assert height > 0, "enter a number greater than 0"
        assert height < 9, "enter a number smaller than 9"
        break
    except ValueError:
        print("must enter a number")
    except AssertionError as e:
        print(str(e))

对于大于和小于条件,必须使用try-except块吗?ValueError异常之后的那些语句不能仅仅是'if'语句吗?如果失败,这两个
assert
s将产生完全相同的异常类,这是唯一可以基于
except
子句的东西。
while True:
    try:
        height = int(input("Height: "))
    except ValueError:
        print("must enter a number")
    if height <= 0:
        print("enter a number greater than 0")
    elif height >= 9:
        print("enter a number smaller than 9")
    else:
        break