我真的不知道该怎么办。 这就是我想要做的: 如果第一个数字大于“ a”且小于“ b”,则该函数必须返回true。否则,是错误的。 怎么了?
def is_in_range(lst,a,b):
for num in lst:
if num> a and num < b:
return True
i+=1
elif num >=b:
return False
return c
elif num <= a:
return False
elif len(lst) ==0:
return True
print is_in_range([1,2,3,5],0,4)
除非b =我的第一个数字,否则该函数将显示真。
答案 0 :(得分:3)
实际上,您的缩进和控制流程并不十分清楚。但是根据您的描述,这可以解决您的问题:
def is_in_range(lst, a, b):
return any(a < num < b for num in lst)
这也是非常通用的,如果您希望看到所有数字都在范围内,则只需将any
更改为all
。
使它更接近您的起点:
def is_in_range(lst, a, b):
if len(lst) == 0:
return True
for num in lst:
if a < num < b:
return True
return False
请注意,每个函数仅返回一次,因此,如果找不到相应的值,则只有False
会返回。