您好,我正在尝试查找列表的长度,以便在方法中查找所述列表中所有数字的平均值,但是当我尝试运行代码时
len(numList)
它给我一个语法错误,我不知道为什么。我在互联网上看到的一切都说这个功能应该有效,但事实并非如此。这是完整的方法。
def mean(numList):
i = 0
total = 0
while len(numList) > i
total = total + numList[i]
i = i + 1
print total
return total
答案 0 :(得分:1)
您忘记了if
语句中所需的尾部冒号!
只需更改行
即可while len(numList) > i
到
while len(numList) > i:
看到区别?只是一个尾随冒号 - 但 是Python语法的关键部分!
顺便说一下,我极大地将代码简化为
def mean(numList):
return sum(numList)
与您的代码具有完全相同的结果 - 如果mean
您的意思是average
,这似乎是错误的,但可以修复,例如
def mean(numList):
return sum(numList)/float(len(numList)) if numList else 0
因为你似乎采取了不存在的"意思是"一个空列表为0.但是,这超出了你的琐碎语法错误,并且可能值得一个单独的Q应该仍然存在问题! - )
答案 1 :(得分:0)
我认为你的功能在语义上是错误的。也许:
返回总和(numList)/ len(numList)