如何让python只接受正整数作为raw_input?

时间:2015-04-13 04:03:34

标签: python raw-input

我试图要求用户提交正整数,因为我的问题是"你多大了?"

1 个答案:

答案 0 :(得分:2)

使用string.isdigit()

  

str.isdigit()

     

如果字符串中的所有字符都是数字且至少有一个字符,则返回true,否则返回false。

     

对于8位字符串,此方法取决于语言环境。

>>> '-23'.isdigit()
False
>>> '23'.isdigit()
True
>>> '23.45'.isdigit()
False

所以就像,

>>> while True:
        s = input('How old are you: ')
        if s.isdigit():
            break


How old are you: y
How old are you: -7
How old are you: 8.9
How old are you: 8
>>>