python,使用if循环确保用户输入的数字为数字,然后操作数字

时间:2018-11-21 13:10:04

标签: python

我对编程非常陌生,并尝试编写年龄检查器代码,但是确保用户输入数字的循环无效。

如果输入字符串,例如hello,则输入通过.isdigit()条件,并弄乱最后一个if语句。

关于如何正确构造数字检查器循环的任何帮助或建议,都将不希望在最后的if语句中输入字符串。 这是我的代码:

while True:
    age = input('Enter age:    ')
    if  age.isdigit():
        print('Thank you, number entered is:', age)
    else:
        print('A number must be entered')
        break
print('Please enter age')        
used_variable = age
if used_variable >  18:
    print('user is older than 18') 

1 个答案:

答案 0 :(得分:-1)

当用户插入错误的值(不是数字)而不是让循环继续询问他时,您正在中断循环,当用户键入正确的值时您应该中断循环。

while True:
    age = input('Enter age:    ')
    if  age.isdigit():
        print('Thank you, number entered is:', age)
        break
    else:
        print('A number must be entered')

#print('Please enter age')
used_variable = int(age)
if used_variable >  18:
    print('user is older than 18')