如何在python 3的输入中不允许字母,仅允许数字?

时间:2020-07-07 04:21:26

标签: python-3.x user-input

我是初学者。我正在进行调查,其中一个问题是询问使用者的年龄。我该如何做到这一点,以便如果用户输入字母或符号,它会显示一条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

2 个答案:

答案 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