2017-06-17 173 views
0

我无法添加列表中的所有元素。仅添加最后一个元素。我怎样才能添加所有输入的元素?将元素添加到用户列表

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

您重置N一个空的名单上的for -loop的每一次迭代,然后在最后一次迭代的最后a值将被追加到空列表,从而与只有一个项目在N列表整理。

此外,使用不同的变量名的列表(不是你的输入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 

运行示例:

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']