Python Raw_Input在特定范围内

时间:2016-06-24 12:01:51

标签: python

我需要允许用户在python中仅输入1111到9999中的数字作为raw_input。如何为此条件创建约束? 感谢

4 个答案:

答案 0 :(得分:2)

获取输入,然后检查输入是否对约束​​有效(例如,通过if条件)。如果它无效则重复输入(可能是用户通知用户输入之前的错误)(例如,使用while循环)。

答案 1 :(得分:0)

您无法强制用户使用raw_input()输入任何特定内容。您必须验证用户输入,并最好使用while循环,直到用户正确输入。

这将起作用(假设用户输入非数字并非愚蠢)。

i = int(raw_input('Please, enter a number between 1110 and 10000'))
while not(1110<i<10000):
  i = int(raw_input('Dude, come on, read the instruction'))

答案 2 :(得分:0)

使用while循环直到用户输入有效数字。检查ValueError以消除无效输入。

user_input = -1
_continue = True
while _continue:
    try:
        user_input = int(raw_input("Value: "))
        if 1111 <= user_input  <= 9999:
            _continue = False
    except ValueError:
        pass

答案 3 :(得分:0)

is_input_valid = False
while is_input_valid == False:
    inp = int(raw_input("Input your number: "))
    if inp >= 1111 and inp <= 9999:
        is_input_valid = True
    else:
        print "Please input only numbers from 1111 to 9999"

print "Thanks, your input is valid"