【发布时间】:2022-11-12 18:45:25
【问题描述】:
while True:
try:
age = int(input("Enter your age: "))
if age <= 0:
raise TypeError("Enter a number greater than zero")
except ValueError:
print("Invalid age. Must be a number.")
except TypeError as err:
print(err)
except:
print('Invalid input')
break
while True:
try:
height = float(input('Enter your height in inches: '))
if height <= 0:
raise TypeError("Enter a number greater than 0")
break
except ValueError:
raise ValueError("Height must be a number.")
我有多个变量需要用户输入才能运行程序。我需要从用户那里获取 3 个变量,他们需要正确输入值。我想我应该为每个变量使用 try/except 块,但是当我为第一个变量使用 try/except 块并开始编写第二个块时,即使用户输入不正确,程序也会跳过异常。
我考虑过使用另一个while循环,但我不确定如何用python编写这个想法;如果满足先前的条件,则移动到下一个代码块。我尝试对两个变量使用相同的 try/except 块但失败了。任何见解都会有所帮助。问题是当输入了一个不正确的值时,程序仍然继续到下一个 try 块。
【问题讨论】:
标签: python python-3.x try-except