k = int(input("Enter the number of elements in the list: "))
n = []
for i in range(k):
n[i] = int(input(str(i+1) + " = "))
print(n[i])
这是一个代码,用于接收具有所需长度的列表(数组)的所需数量的元素。放入print(n [i])只是为了检查是否达到此步骤。但是错误在此之前发生,并指出列表分配索引(我认为是“ i”)超出范围。 为什么?
答案 0 :(得分:0)
这是因为n
的初始化大小为0。将n[1]
分配给某个值时,会给您索引超出范围的错误。尝试改用append
。
k = int(input("Enter the number of elements in the list: "))
n = []
for i in range(k):
n.append(int(input(str(i+1) + " = ")))
print(n[i])
答案 1 :(得分:0)
在这里,如果您尝试将(n
)添加(添加)到列表中,则必须使用append而不是n[i]
。使用n[i]
时,实际上是在分配一个值,而不是添加新值。
下面的代码段使用附加方法。
k = int(input("Enter the number of elements in the list: "))
n = []
for i in range(k):
n.append(int(input(str(i+1) + " = ")))
print(n[i])
如果您仍然想使用分配列表值来解决问题,也可以这样做。
k = int(input("Enter the number of elements in the list: "))
n = [None] * k
for i in range(k):
n[i] = int(input(str(i+1) + " = "))
print(n[i])