2017-12-01 18 views
0

私はPythonで新しく、有効な答えを指定するのは難しいです。私は、LGEL LGTS LGPA LGRP(これらの4文字は空港識別子であり、次に他の空港と続くスペースである)のような空港ブリーフィングのユーザーからの入力を期待しています。 私は文字だけを必要とします(番号はありませんが、スペースを受け入れる必要があります)。そして、この答えが正確に4文字であるかどうかを確認するために答えを分割した後。私は私のコードがenought近いだと思うが、それはあなたがループ内に置く場合は、最後にもう一度入力をお願いする必要はありません入力の検証のためにネストされたループ

answer_list2 = [] 
answer = input("select aerodromes: ").upper() 
answer_list2 = answer.split(' ') 
idiot = True 
while idiot == True: 
    for i in answer_list2: 
     for x in i: 
      if x.isalpha() == True or x.isspace()== True and len(i) == 4: 
       idiot = False 
      else: 
       print ("I think numbers are not a valid ICAO locator") 
       answer = input("---> plz input the aerodromes ") 




answer_list = [] 
answer_list = answer.split(' ') 
+0

......それを発見しました。 – RottenCandy

+0

あなたは2番目のライトを意味していますか? –

+0

はい。 'else'条件 – RottenCandy

答えて

0
idiot = True 

while idiot: 
    answer = input("select aerodromes: ").upper() 
    answer_list2 = answer.split(' ') 
    for i in answer_list2: 
     for x in i: 
      if x.isalpha() == True or x.isspace() == True and len(i) == 4: 
       idiot = False 
      else: 
       print ("I think numbers are not a valid ICAO locator") 

を動作させることはできません。最後に

+0

Thxは事前に助けを求めています。コードは数字があるかどうかを調べるためにすべての文字をテストしなければならず、この単語すべてが本当に4文字であるかどうかをテストするために各単語(分割した後に)をテストしなければなりません。他のコードと一緒に入力します。例:EGH LGTS –

+0

[正規表現](https://docs.python.org/3/howto/regex.html)を使用してください。 – RottenCandy

0

私は入力が間違っている場合は、あなたが `forループの外にbreak`でき

answer_list2 = []                      #check input 
answer = input("select aerodromes: ").upper() 
answer_list2 = answer.split(' ') 
ct = 0 
while ct != 4*(len(answer_list2)): 
    for i in answer_list2: 
     for x in i: 
      if x.isalpha() == True and len(i) == 4:           
       ct += 1 
      else: 
       print ("Check again your input locators") 
       answer_list2 = [] 
       answer = input("---> plz input the aerodromes ").upper() 
       answer_list2 = answer.split(' ') 
       break 



answer_list = [] 
answer_list = answer.split(' ') 
関連する問題