python - 在 python 2 或 3 中不使用 '+' 运算符的两个整数之和

标签 python

class Solution(object):
    def getSum(self, a, b):
        if (a == 0):
            return b
        if (b == 0):
            return a;
        while(b != 0):
            _a = a ^ b
            _b = (a & b) << 1
            a = _a
            b = _b
        return a

但是当 a、b < 0 或两者之一时,脚本应该是什么样子?

最佳答案

+ 运算符在内部调用 __add__()。因此,您可以直接调用a.__add__(b)来获取总和。下面是修改后的代码:

>>> class Solution(object):
...     def getSum(self, a, b):
...         return a.__add__(b)
... 
>>> s = Solution()
>>> s.getSum(1, 2)
3

或者,您可以使用operator.add(a, b)如:

>>> import operator
>>> operator.add(1, 2)
3

关于python - 在 python 2 或 3 中不使用 '+' 运算符的两个整数之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39646749/

相关文章:

python - 在 Python 中跳出 while 循环

python - 如何在Python中设置一个计时器来验证用户名?

python - 尝试重用 RNN 权重时出错

python - 通过复制 1 行并附加到 n 行数据帧,合并 1 行数据帧和 n 行数据帧

python - 在Visual Studio的Windows上安装MPIR时遇到问题吗?

python - 递归列表无类型返回

python - 计算用户密码和随 secret 码的熵

python - 使用命令自动加载多个 UNIX screen

python - 使用 jupyter-cadquery 嵌入小部件 ( Threejs ) : wrong position on load

python linux - 以文件名显示图像作为查看器窗口标题