我在python编码方面有一点经验,我尝试编写一个代码,用于汇总列表中除99号之外的项目。这是我的代码:
>>>
100
Traceback (most recent call last):
File "G:\desktop\test.py", line 3, in <module>
while grade[i]!=99:
IndexError: list index out of range
>>>
但是我收到了这个错误:
Runnable
答案 0 :(得分:1)
好像您要将i
初始化为字母o
而不是0
。 (编辑:OP更新了问题)
您对列表中的索引与之间的差异存在一些误解
列表中的元素。在第一次迭代中,您将i
设置为相等100
(i + grade[i]
为0 + 100
)。因此,在第二次迭代中,您尝试访问grade
的第100个索引,该索引显然不存在,并且正在引发IndexError
。
使用Python的内置sum
:
grade = [100,30,99,85]
sum_grade = sum(num for num in grade if num != 99)
print(sum_grade)
>> 215