2016-06-24 22 views
-1

私は1111から9999までの数字だけをpythonでraw_inputとして入力できるようにする必要があります。この条件の制約を作成するにはどうすればよいですか? ありがとうPython Raw_Input特定の範囲

+1

? – Benjamin

+0

似たような質問:http://stackoverflow.com/questions/8761778/limiting-python-input-strings-to-certain-characters-and-lengths – Shubham

+1

数字が2つの数字の間にあるかどうかを確認する方法は知っていますか? –

答えて

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を確認してください。 whileループと

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" 
関連する問題