我需要允许用户在python中仅输入1111到9999中的数字作为raw_input。如何为此条件创建约束? 感谢
答案 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"