2016-06-24 133 views
-1

我需要允許用戶輸入1111到9999中的數字作爲python中的raw_input。如何爲這種情況創建一個約束? 謝謝特定範圍的Python Raw_Input

+1

while循環? – Benjamin

+0

類似的問題:http://stackoverflow.com/questions/8761778/limiting-python-input-strings-to-certain-characters-and-lengths – Shubham

+1

你知道如何檢查一個數字是否在兩個其他數字之間? –

回答

2

獲取輸入,然後檢查輸入是否對您的約束有效(例如,通過if條件)。如果無效重複輸入(可能在用戶通知之前輸入錯誤)(例如使用while循環)。

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')) 
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 
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"