values = []
def posNumAvg(values):
average = 0
sum = 0
if n in values > 0:
sum = sum + n
return sum/len(values)
给我留言:
Unorderable types: list() > int()
如何解决此问题,以便将列表values
中的每个值与0进行比较?
答案 0 :(得分:1)
if n in values > 0:
有很多错误:
values > 0
正在将列表与int进行比较 - 这是您在Python中无法做到的事情n in values > 0
正在将未定义的变量与破损的表达式进行比较(您也无法做到)average
从未使用过,这不是问题但可能不是您想要的试试这个:
def posNumAvg(values):
return sum(n for n in values if n > 0)/len(values)
Python有一个内置的sum
函数,可用于获取可迭代的所有项的总和(在本例中为生成器对象),然后我们除以原始列表的长度价值观。