Python3.初学者对多重错误处理感到困惑。尽力
我试图学习Pythons的错误处理,目前我遇到了Try和Except语句。 我发现自己被一个问题困住了。我需要用户输入一个介于0-24之间的数字。如果未输入数字(即字符串),我需要使用except打印“not a number”。如果输入的数字不在0-24之间,我需要提出另一个错误并打印“不在0-24范围内”,否则打印“有效数字”。 我一直在玩弄这些代码,最终我来到了这里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: ")
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
除了
之外没有任何,等等。但是在您首先正确获得基本结构之前,您无法真正修复这些错误。