如何检查raw_input是否包含3位数?

时间:2014-08-28 17:24:38

标签: python python-2.7

我是初学者,需要一些帮助。如何确保用户输入只有3位数。我知道如何确定它是否是数字但需要它只有3.这就是我到目前为止所拥有的:

while not (area_code.isdigit()):
    # do something here

我想" .isdigit()"是3位数。

3 个答案:

答案 0 :(得分:3)

您还需要明确测试字符串的长度:

while not (area_code.isdigit() and len(area_code) == 3):

str.isdigit()仅在至少有一个字符且所有字符均为数字时才为真。剩下的就是对长度的测试。

答案 1 :(得分:2)

while True:
    inp = raw_input()
    if len(inp) == 3 and inp.isdigit():
        break

如果要进行多次输入,则需要在循环内部输入

使用您的示例:

area_code = raw_input()
while len(area_code) != 3 or not area_code.isdigit():
    area_code = raw_input()

答案 2 :(得分:0)

while not len(area_code) == 3:
    # Do stuff