几周前才开始编写代码,但是我一直在查看出错的地方有麻烦。
目标是编写一个将数字列表作为参数并返回数字24.54和47.54内的值的数量的函数。
def count_in_range(x):
sum = 0
for i in x:
if x > 24.54 and x < 47.54:
sum = sum + 1
return sum
当前遇到“无法排序的类型:list()> float()错误
答案 0 :(得分:1)
当您检查列表中每个项目的值时,您会无意中检查了整个列表的值。
if x > 24.54 and x < 47.54:
应该成为
if i > 24.54 and x < 47.54:
因为i
是一个变量,它在您遍历时采用列表中每个项目的值。
此外,您想将return语句移到循环外部,否则循环将在1次迭代后终止。