Python3.初学者对多重错误处理感到困惑。尽力

Python3.初学者对多重错误处理感到困惑。尽力,python,error-handling,Python,Error Handling,我试图学习Pythons的错误处理,目前我遇到了Try和Except语句。 我发现自己被一个问题困住了。我需要用户输入一个介于0-24之间的数字。如果未输入数字(即字符串),我需要使用except打印“not a number”。如果输入的数字不在0-24之间,我需要提出另一个错误并打印“不在0-24范围内”,否则打印“有效数字”。 我一直在玩弄这些代码,最终我来到了这里 error = False try: number = int(input("\nEnter an hour: ")

我试图学习Pythons的错误处理,目前我遇到了Try和Except语句。 我发现自己被一个问题困住了。我需要用户输入一个介于0-24之间的数字。如果未输入数字(即字符串),我需要使用except打印“not a number”。如果输入的数字不在0-24之间,我需要提出另一个错误并打印“不在0-24范围内”,否则打印“有效数字”。 我一直在玩弄这些代码,最终我来到了这里

error = False
try:
    number = int(input("\nEnter an hour: "))
except ValueError:
    print("\nNot an number.")
    error = True
while error == false:
    try:
        if number <0 or number >24:
            raise ValueError("number not between 0-24")
        else:
            print ("\nIts a number and its between 0-24")
error=False
尝试:
number=int(输入(“\n输入一小时:”)
除值错误外:
打印(“\n不是数字。”)
错误=真
错误==false时:
尝试:
如果是24号:
提升值错误(“数字不在0-24之间”)
其他:
打印(“\n表示一个数字及其介于0-24之间的数值”)

请帮助我或为我指出正确的方向:)

我基本上会这样做:

try:
    num = int(input('hour? '))
    if 0 < num < 25:
        print('All good')
        print('Hour:', num)
    else:
        print('Invalid hour')
except ValueError:
    print('Not a number')
试试看:
num=int(输入('小时?'))
如果0
您没有告诉我们您的困难是什么。您是否遇到了错误的错误、错误的输出或其他问题?是什么数据输入提供了这些东西?要获得帮助和一个常规例程来完成您想要的事情,请检查
消毒输入功能。您需要做的第一件事是将
输入
和检查
while
循环中的错误,而不仅仅是第二次检查。事实上,您永远不会更改循环中
error
的值,因此您永远无法摆脱它(除非引发异常,如果您第一次不这样做,您将永远不会这样做)。同时,您还有许多其他错误。
false
false
不同,您的第二次
try
除了
之外没有任何
,等等。但是在您首先正确获得基本结构之前,您无法真正修复这些错误。