我想查看变量是否在某个值范围内,例如,如果 x 在 20 到 30 之间,则返回 true。
最快的方法是什么(使用任何基于 C 的语言)?
显然可以通过 for 循环来完成:
function inRange(x, lowerbound, upperbound)
{
for(i = lowerbound; i < upperbound; i++)
{
if(x == i) return TRUE;
else return FALSE;
}
}
//in the program
if(inRange(x, 20, 30))
//do stuff
但这非常乏味if(inRange(x, 20, 30))
有没有比这更简单的逻辑,不使用内置函数?
你想要的表达是
20 <= x && x <= 30
EDIT:
或者简单地放入一个函数中
function inRange(x, lowerbound, upperbound)
{
return lowerbound <= x && x <= upperbound;
}
Python 有一个in
操作员:
>>> r = range(20, 31)
>>> 19 in r
False
>>> 20 in r
True
>>> 30 in r
True
>>> 31 in r
False
同样在 Python 中,这非常酷——比较运算符是链接的!这与 C 和 Java 完全不同。看http://en.wikipedia.org/wiki/Python_syntax_and_semantics#Comparison_operators http://en.wikipedia.org/wiki/Python_syntax_and_semantics#Comparison_operators
所以你可以写
low <= x <= high
在Python中-10 <= -5 <= -1
是 True,但在 C 中则为 false。尝试一下。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)