2016-08-10 9 views
1

私はnoobです。私はこのpythonプロジェクトに取り組んでいます。ユーザーが配列に入力した最初の入力を取得します。あなたがそこに入れないためであるリストに入っていない最初の入力

def ask(): 
    user_input = raw_input("Enter a number: ") 
    user_input_array = [] 
    count = 0 
    quits = 'done' 

    while user_input != quits: 
     user_input = raw_input("Enter a number: ") 
     try: 
      if type(user_input) == str: 
       num = int(user_input) 
       user_input_array.append(num) 
       count = count + 1 

     except: 
      print("Invalid input") 

    while user_input == quits: 
     #user_input_array.remove('done') 
     print ("done") 
     print ('Count: ', count) 
     print (user_input_array) 
     break 
ask() 

答えて

1

:ここでは、事前 のおかげで、私のコードです。

def ask(): 
    user_input = raw_input("Enter a number: ") 
    user_input_array = [user_input] # Create the list with the original input 
    ... 

上記で、ユーザーが入力した最初のものは、リストの作成時にリストに配置されます。これより前に小切手をすることができます

0
def ask(): 
     user_input = raw_input("Enter a number: ") 
     user_input_array = [] 
     count = 0 
     quits = 'done' 

     while user_input != quits: 
      user_input = raw_input("Enter a number: ") 
      try: 
       if type(user_input) == str: 
        num = int(user_input) 
        user_input_array.append(num) 
        count = count + 1 

      except: 
        if user_input == quits: 
          #user_input_array.remove('done') 
          print ("done") 
          print ('Count: ', count) 
          print (user_input_array) 
        else: 
          print("Invalid input") 


    ask() 
0

初期入力を配列に追加しません。その代わりに、ループを入力して別の入力を求めて、それを配列に追加します。ループ内のすべての入力を尋ねる必要があります。これは、raw_inputの1つと完了した値の1つのチェックだけを必要とすることを意味します。

これを行う一般的な方法は、無限ループに入り、値doneを読み取るときに終了することです。同様に

def ask(): 

    user_input_array = [] 

    while True: 

     user_input = raw_input("Enter a number: ") 

     if user_input == 'done': 
      break 

     try: 
      user_input_array.append(int(user_input))  
     except ValueError: 
      print("Invalid input") 

    print ("done") 
    print ('Count: ', len(user_input_array)) 
    print (user_input_array) 

ask() 

これは繰り返しなしで望ましい効果が得られることに注意してください。リストにはlen機能があるため、追加した要素の数をカウントする必要はありません。

関連する問題