索引错误:列表附加语法Python

2024-03-29 08:44:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我对这段代码有问题:

while numSelector <= len(nums)+1:
    average = average + nums[numSelector]
    numSelector += 1

我从代码中得到一个错误:

Traceback (most recent call last): File "C:\Users\nghia_000\Documents\Programming\Python27\AveragingCalculator.py", line 11, in average = average + nums[numSelector] IndexError: list index out of range

你知道怎么解决吗?你知道吗


Tags: 代码mostlen错误callusersfilelast
3条回答

将条件更改为numSelector<;=len(nums)-1numSelector<;len(nums)即可。你知道吗

假设len(nums) == 5。然后线路:

while numSelector <= len(nums) + 1:

意思是“一直走到numSelector不超过6。但是numSelector只有五个元素,0,1,2,3,4。你知道吗

如果列表的长度是n,那么它包含索引0到n-1的元素。尝试:

numSelector = 0
while numSelector < len(nums):
    average = average + nums[numSelector]
    numSelector += 1

更好的方法是使用for循环直接迭代列表中的数字:

for num in nums:
    average += num

相关问题 更多 >