我遇到了这段代码的问题:
while numSelector <= len(nums)+1:
average = average + nums[numSelector]
numSelector += 1
我从代码中收到此错误:
追踪(最近一次通话): 文件&#34; C:\ Users \ nghia_000 \ Documents \ Programming \ Python27 \ AveragingCalculator.py&#34;,第11行,in average = average + nums [numSelector] IndexError:列表索引超出范围
知道如何解决这个问题吗?
答案 0 :(得分:4)
如果列表的长度为n,则它包含索引0到n-1的元素。尝试:
numSelector = 0
while numSelector < len(nums):
average = average + nums[numSelector]
numSelector += 1
更好的方法是使用for循环直接遍历列表中的数字:
for num in nums:
average += num
答案 1 :(得分:0)
假设len(nums) == 5
。这一行:
while numSelector <= len(nums) + 1:
表示&#34;继续前进,直到numSelector
不超过6.但numSelector
只有五个元素 - 0,1,2,3,4。
答案 2 :(得分:0)
将条件更改为 numSelector&lt; = len(nums)-1 或 numSelector&lt; len(nums)会为你做的。