Python中if循环指定范围内的数字
我正在尝试在Python中计算一个简单的表达式:
如果一个数字大于-1.0并且小于1.0,就做一些事情。
我试过这样写:
if x > '-1.0' and x < '1.0':
DoSomething
但结果是它只判断了第二部分(x < '1.0')。我还试过这样:
if '-1.0' < x < '1.0':
DoSomething
但奇怪的是,我没有得到我想要的结果。请问有什么建议吗???
5 个回答
2
正如其他回答提到的,你需要去掉引号,这样你比较的就是数字,而不是字符串。
不过,之前的回答都没有使用Python的链式比较:
if -1.0 < x < 1.0:
DoSomething
这和 if x > -1.0 and x < 1.0
是一样的,但更高效,因为 x
只会被计算一次。
2
你不想把数字放在引号里,因为那样会变成字符串比较,而不是数字比较。你应该使用
if x > -1.0 and x < 1.0:
DoSomething
8
你在比较的是字符串,而不是数字。
if x > -1.0 and x < 1.0:
pass
这样会对数字进行比较。