在Python中,检查浮点值是否介于两个数字之间的优雅方法?
如何检查x是否在a和b之间在Python中,检查浮点值是否介于两个数字之间的优雅方法?,python,floating-point,numbers,logic,Python,Floating Point,Numbers,Logic,如何检查x是否在a和b之间 a = 9 b = 7 x = 7.5 我想到了这个: a < x < b or b < x < a 从我做的一些测试来看,它似乎可以完成任务,但它看起来既不可读又令人困惑。还有其他更好的方法吗?使用: min(a, b) < x < max(a, b) 我想这可能是你需要的。我的另一个答案是胡说八道,我写得太快了 def is_between(a, x, b): return min(a, b) < x <
a = 9
b = 7
x = 7.5
我想到了这个:
a < x < b or b < x < a
从我做的一些测试来看,它似乎可以完成任务,但它看起来既不可读又令人困惑。还有其他更好的方法吗?使用:
min(a, b) < x < max(a, b)
我想这可能是你需要的。我的另一个答案是胡说八道,我写得太快了
def is_between(a, x, b):
return min(a, b) < x < max(a, b)
考虑到a和b永远不应该是无。它们都应该是有效的数字想出了以下四个:
min(a, b) < x < max(a, b)
a < x < b if a < b else b < x < a
(a - x) * (b - x) < 0
not (b < x > a and a < x > b)
但我仍然认为你的版本是最好的。为什么不可靠或令人困惑,我似乎非常清楚。比mina更好,b