我是初学者。我正在进行调查,其中一个问题是询问使用者的年龄。我该如何做到这一点,以便如果用户输入字母或符号,它会显示一条print()消息?
问题似乎是计算机读取了“ if age <10:”的第一个if语句,然后在输入字符串的情况下在终端中发送错误消息。
这是现在的代码,我想要它,以便如果用户输入字母或符号,它会发送一条print()消息,然后再次要求输入,这可能吗? / p>
c = 3
while c == 3:
age = int(input('How old are you (enter a number)? '))
if age < 10:
print("Wow, you're quite young!")
break
elif age > 60 and age <= 122:
print("Wow, you're quite old!")
break
elif age > 122:
print('Amazing! You are the oldest person in history! Congrats!')
break
elif age >= 14 and age <= 18:
print('Really? You look like a college student!')
break
elif age >= 10 and age <= 13:
print('Really? You look like a 10th grader!')
break
elif age > 18 and age <= 60:
print('Really? No way! You look younger than that, could have fooled me!')
break
答案 0 :(得分:2)
将调查中的每个操作定义为不同的功能。然后,您可以使用如下语句:
try:
int(input_variable)
except ValueError:
function()
要检查他们是否给了您一个整数,如果没有,则必须再次输入。您似乎是一个初学者,所以如果您有任何问题,我可以回答。
答案 1 :(得分:0)
对于简单的解决方案,只需循环直到接收到整数即可。
while True:
try:
age = int(input('How old are you (enter a number)? '))
except ValueError:
print('input should be integer!')
continue
break