我正在while循环中学习输入验证。如果我输入1、2、3,x,-1作为输入,则将输出1、2、3、3。有人可以解释为什么两次输出3。我的try语句不正确还是在错误的位置?
def input_validation_while_loop():
list = []
guess_num = int(input("Enter a number between 1 and 100 or enter -1 to stop."))
# sentinel_value = -1
while guess_num != -1:
try:
if 1 <= guess_num <= 100:
list.append(guess_num)
guess_num = int(input("Enter a number between 1 and 100 or enter -1 to stop."))
except ValueError:
print("That was not a number. Try again.")
else:
for x in list:
print(x)
def input_validation_while_loop():
list = []
# sentinel_value = -1
while True:
try:
guess_num = int(input("Enter a number between 1 and 100 or enter -1 to stop."))
if 1 <= guess_num <= 100:
list.append(guess_num)
elif guess_num == -1:
break
except ValueError:
print("That was not a number. Try again.")
for x in list:
print(x)
input_validation_while_loop()