我有以下功能:
def InRange(number):
return 5 <= number >= 1
如果数字不在使用链比较的 1 到 5 的范围内,我希望这说错误,但似乎无法做到这一点。
有什么建议么?
我有以下功能:
def InRange(number):
return 5 <= number >= 1
如果数字不在使用链比较的 1 到 5 的范围内,我希望这说错误,但似乎无法做到这一点。
有什么建议么?
你想要这样:
def InRange(number):
return 1 <= number <= 5
请注意,您还可以执行以下操作:
def InRange(number):
return 0 < number < 6
用这个:
1 <= number <= 5
来自文档:
x < y <= z
等价于x < y
andy <= z
,除了y
只评估一次(但在这两种情况下,当发现为假z
时根本不评估 )。x < y
您的(不正确的)表达式实际上等同于:
number >=5 and number >= 1
因此,它将是True
1 到无穷大之间的任何数字:
或者,您可以这样做(根据函数的名称,这似乎很合适):
def InRange(number):
return number in range(1, 6)
对于大数字,您应该使用:
def InRange(number):
return number in xrange(1, 10000000)