Python中if循环指定范围内的数字

3 投票
5 回答
15725 浏览
提问于 2025-04-17 06:48

我正在尝试在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

这样会对数字进行比较。

撰写回答