【发布时间】:2016-09-08 04:48:31
【问题描述】:
def sum_squares(n):
sum=0
for i in range(1,len(n)+1):
sum=0
for j in range(1,n[i]):
sum+=j**2
print('The sum:',sum)
n=[2]
sum_squares(n)
在这里,我在for j in range(1,n[i]): 行中遇到错误
当它是i-1 时,它可以工作,但需要的是i。
【问题讨论】:
-
如果您有
for i in range(1,len(n)+1),那么您的i会超出n的末尾,因此随后对n[i]的调用将引发异常。 -
Python 列表是零索引的。对于 n 元素列表,第一个元素的索引为 0,最后一个元素的索引为 n-1。您正在尝试访问索引 1、2、... n - 最后一个索引不存在。