你的 return 语句缩进太深;你应该在 for 循环之后返回它。也不sum是一个好名字,因为它是您覆盖的内置函数。并且您应该添加1到总和(您正在计算)而不是x它本身。您也可以使用内置函数尝试此操作sum:def counting(number):
return sum(29.88 < x < 48.05 for x in number)(这实际上是sum(1 for x in number if 29.88 < x < 48.05)并且有效的缩写,因为Trueis basic1并且Falseis basic 0)。
或者与您的相似:def counting(number): c = 0 for x in number: if 29.88 < x < 48.05: c += 1 return c或者可以做单线,len:def counting(number): return len([29.88 < x < 48.05 for x in number])