2017-06-17 6 views
0

リストにすべての要素を追加することはできません。最後の要素が追加されました。入力したすべての要素を追加するにはどうすればよいですか?あなたがfor - ループの各反復で空のリストにNをリセットしているユーザーがリストに要素を追加する

N = input("Enter the number of elemets: ") 
for i in xrange(N): 
    N = [] 
    a = input('%d. Element: ' %(i+1)) 
    N.append(a)  
print N 
+0

あなたは**いけな​​い**常に「N」をリセットしてください。 –

+0

'N = []'は 'for'ループの各繰り返しを空にしています。 'for'ループに入る前に' N = [] '行を移動し、' N'の名前を最初の行でまだ使われていない別の変数名に変更してください – davedwards

答えて

1

は、最後の反復で最後a値は、このようにNリストに一つだけのアイテムに仕上げ、空のリストに追加されます。また

、サンプル実行

N = input("Enter the number of elemets: ") 
n = []     # use a different variable name for this list 
for i in xrange(int(N)): # cast N to integer 
    a = input('%d. Element: ' %(i+1)) 
    n.append(a)   # append to the list `n` not `N` 
print n     # print the list 

リストに別の変数名(あなたが入力Nのために定義されていない同じ変数)を使用します。

Enter the number of elemets: 5 
1. Element: 3 
2. Element: 4 
3. Element: 6 
4. Element: 7 
5. Element: 8 
['3', '4', '6', '7', '8'] 
関連する問題