尝试使用 'len' 函数查找列表的长度时出现语法错误
Syntax error when trying to find the length of a list using 'len' function
你好,我正在尝试查找列表的长度,以便在一种方法中使用该列表来查找所述列表中所有数字的平均值,但是当我尝试 运行 代码时
len(numList)
它给我一个语法错误,我不知道为什么。我在 Internet 上阅读的所有内容都说此功能应该有效,但事实并非如此。这是完整的方法。
def mean(numList):
i = 0
total = 0
while len(numList) > i
total = total + numList[i]
i = i + 1
print total
return total
您忘记了 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
因为您似乎将空列表中不存在的 "mean" 视为 0。但是,这远远超出了您的琐碎语法错误,如果仍然存在任何问题,可能值得单独提问!-)
我认为你的函数在语义上是错误的。也许:
return sum(numList)/len(numList)
你好,我正在尝试查找列表的长度,以便在一种方法中使用该列表来查找所述列表中所有数字的平均值,但是当我尝试 运行 代码时
len(numList)
它给我一个语法错误,我不知道为什么。我在 Internet 上阅读的所有内容都说此功能应该有效,但事实并非如此。这是完整的方法。
def mean(numList):
i = 0
total = 0
while len(numList) > i
total = total + numList[i]
i = i + 1
print total
return total
您忘记了 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
因为您似乎将空列表中不存在的 "mean" 视为 0。但是,这远远超出了您的琐碎语法错误,如果仍然存在任何问题,可能值得单独提问!-)
我认为你的函数在语义上是错误的。也许:
return sum(numList)/len(numList)