如何检查整数输入是否是没有值的字符串错误


while True:
Check = isinstance(Age, str)
Age = (int(input("Ok, How old are you: ")))
if 100 <= Age:
print("try again")
if Check == True:
print("try again")
else:
break

如果在打印"重试"时输入是字符串,我试图让它循环回去,但是当我这样做时,它会导致 ValueError

如果你执行你的代码,第一个错误将是NameError,因为你在输入之前使用它。

但是,如果要检查用户输入的值是否是没有 ValueError 的数字,则可以使用isdigit函数。只需稍作修改,您就可以实现您想要做的事情:

while True:
age = input("Ok, How old are you: ")
if age.isdigit() and int(age) <= 100:
break
print("try again")

错误出现在if检查之前。您正在将输入转换为可能不可能的输入int,因此您得到ValueError

相反,您需要执行以下操作:

while True:
age = input("How old are you?")
try:
age = int(age)
except ValueError:
print('try again')
continue
if age >= 100:
print('try again')
continue
break

最新更新