如何在Python中查找数字是否属于特定范围?

How to find whether a number belongs to a particular range in Python?

本问题已经有最佳答案,请猛点这里访问。

假设我想检查x是否属于0到0.5的范围。我该怎么做?


不,你不能那样做。range()需要整数参数。如果您想知道x是否在这个范围内,请尝试以下方法:

1
print 0.0 <= x <= 0.5

注意你的上限。如果使用range(),则不包括(range(0, 5)不包括5!)


1
print 'yes' if 0 < x < 0.5 else 'no'

range()用于生成连续整数数组


1
2
3
4
5
>>> s = 1.1
>>> 0<= s <=0.2
False
>>> 0<= s <=1.2
True

1
2
3
4
if num in range(min, max):
 """do stuff..."""
else:
 """do other stuff..."""


我将使用numpy库,它允许您对数字列表执行此操作:

1
2
3
from numpy import array
a = array([1, 2, 3, 4, 5, 6,])
a[a < 2]


要检查某个数字n是否在由两个数字a和b表示的包含范围内,可以执行以下操作之一

1
2
3
4
if   a <= n <= b:
    print"yes"
else:
    print"no"

><代替>=<=检查n是否在ab所表示的专属范围内(即ab本身不是该范围的成员)。

range将产生一个由两个(或三个)参数转换为整数定义的算术级数。请参阅文档。我想这不是你想要的。


老忠实:

1
if n >= a and n <= b:

它看起来不像Perl(笑话)