【发布时间】:2016-02-14 07:29:59
【问题描述】:
我对 Python 完全陌生,但有一个我不明白的错误。我有一个名为 mult1 的函数,我想获取一个列表“a”并将每个元素相乘并输出总数,以便 [1,2,3,4] 的列表输出 24。我收到一个错误“列表”索引超出范围”在第 4 行
def mult1(a):
n=1
for i in a:
n=n*a[i-1]
print(n)
我的函数适用于输入 [1,2,3,4],但不适用于 [7,8,1,2]。这是为什么呢?
【问题讨论】:
-
for i in a迭代列表的元素,而不是它们的索引。你需要n = n*i -
提示:将
print(i)添加到您的for以查看i是什么。
标签: python python-3.x for-loop