答案 0 :(得分:1)
这是因为input
总是返回一个字符串。您可以做的是尝试将此字符串转换为int,捕获此转换失败时引发的异常,然后要求用户重试。例如,像这样:
x = None
while x is None:
try:
x = int(input("Enter Number:"))
except ValueError:
print("Oops, this doesn't seem right, try again!")
答案 1 :(得分:1)
您必须强制转换input()
。如果用户提供了非整数,int()
会抛出一个ValueError
,您可以按以下方式处理
while True:
try:
num = int(input("Insert an integer number: "))
except ValueError:
print("Sorry, you must enter an integer.")
continue
else:
print(f"The number is: {num}")
break