Python运算符返回整数

有没有办法让Python运算符行“==”和“>”返回int而不是bools.我知道我可以使用int函数(int(1 == 1))或添加0((1 == 1)0),但我想知道是否有一个简单的方法来做到这一点.就像你想要分区返回浮点数一样,你可以从__future__ import division输入.有没有办法让操作符返回整数?或者我可以创建一个类__future __._功能可以做我想要的吗?

解决方法:

根据您的说明,您可以将比较运算符更改为:

stack.push(1 if stack.pop() > stack.pop() else 0)

这将转换>的布尔结果根据需要为1或0.

另外,请注意在同一表达式中调用stack.pop()两次.你不知道(肯定)将评估参数的顺序,Python的不同实现可能会以不同的顺序弹出参数.您将需要使用临时变量:

x = stack.pop()
y = stack.pop()
stack.push(1 if x > y else 0)
上一篇:c# – 如何在Ternary运算符中编写多个语句?


下一篇:30天代码day2 Operators