python3 使用函数求两个数的和与差

基础内容:

相信很多刚接触 python 的同学都有遇到过这种题。

以下是 在 python 中的利用函数求两个数的和与差

class Calculate:
    def ——init——(self,number1,number2)        # 接收两个参数
        self.number1 = number1
        self.number2 = number2

    def he(self):
        print("和是 : %d " % (self.number1 + self.number2))    # 进行格式化输出

    def cha(self):
        print("差是 : %d " % (self.number1 - self.number2))

result = Calculate(5,5)        # 传递两个参数
result.he()
result.cha()            # 调用函数进行求值

补充:python_写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

看代码吧~

'''
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
'''
# 利用异或以及与进位求解
# 不能一个正数一个负数
# 可能是python的的整型可以无限大的原因, 导致正数和负数的异或操作不断变成更小的负数而不会溢出
# # 使用Swift尝试了一下, 还是可以求得正数和负数的位操作相加运算的
# # -*- coding:utf-8 -*-
# class Solution:
#     def Add(self, num1, num2):
#         while num2:
#             sum = num1 ^ num2
#             carry = (num1 & num2) << 1
#             num1 = sum
#             num2 = carry
#         return num1
# s = Solution()
# print(s.Add(4, 2))
# -*- coding:utf-8 -*-
# 通过每次对num1进行与操作保证是一个32位的整形
# 因此最后我们可以判断符号位是否为1做处理
class Solution:
    def Add(self, num1, num2):
        # write code here
        while num2 != 0:
            temp = num1 ^ num2
            num2 = (num1 & num2) << 1
            num1 = temp & 0xFFFFFFFF
        # return num1 if num1 >> 31 == 0 else num1 - 4294967296  方法一
        return num1 if num1 <= 0x7FFFFFFF else ~(num1 ^ 0xFFFFFFFF)
if __name__ == "__main__":
    s = Solution()
    print(s.Add(4, 2))
    # print(countOne(7))
    # print(countOne(8))

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python获得两个数组交集、并集、差集的方法

    本文实例讲述了python获得两个数组交集.并集.差集的房部分.分享给大家供大家参考.具体如下: 1. 获取两个list 的交集 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] #方法二 print list(set(a).intersection(set(b))) 2. 获取两个list 的并集 print list(set(a).union(set(b))) 3. 获取两个

  • python计算两个数的百分比方法

    工作中遇到了要计算两个数百分比的问题,python 2.7 环境. 代码: #!/usr/bin/env python #function: 计算百分比 #USAGE: python calculator.py num1 num2 import sys a=sys.argv[1] a=float(a) b=sys.argv[2] b=float(b) print "%.2f%%" % (a/b*100) 示例: root@ops-docker-1:/tmp/data# python c

  • python编写函数注意事项总结

    1.编写注意 (1)给函数指定描述名. (2)函数名称只包括小写字母和下划线. (3)每一个函数都应该包含简要说明其功能的注释,注释应该紧跟在函数定义之后,并且采用文档字符串格式. 2.给形参指定默认值时,等号两侧不得有空格 def function_name(parameter_0, parameter_1='default value') 3.如果程序或模块包含多个函数,可以使用两个空行将相邻函数分开,这样更容易知道前一个函数在哪里结束,下一个函数从哪里开始. function_name(v

  • python3 使用函数求两个数的和与差

    基础内容: 相信很多刚接触 python 的同学都有遇到过这种题. 以下是 在 python 中的利用函数求两个数的和与差 class Calculate: def --init--(self,number1,number2) # 接收两个参数 self.number1 = number1 self.number2 = number2 def he(self): print("和是 : %d " % (self.number1 + self.number2)) # 进行格式化输出 de

  • Python自定义函数实现求两个数最大公约数、最小公倍数示例

    本文实例讲述了Python自定义函数实现求两个数最大公约数.最小公倍数.分享给大家供大家参考,具体如下: 1. 求最小公倍数的算法: 最小公倍数  =  两个整数的乘积 /  最大公约数 所以我们首先要求出两个整数的最大公约数, 求两个数的最大公约数思路如下: 2. 求最大公约数算法: ① 整数A对整数B进行取整, 余数用整数C来表示    举例: C = A % B ② 如果C等于0,则C就是整数A和整数B的最大公约数 ③ 如果C不等于0, 将B赋值给A, 将C赋值给B ,然后进行 1, 2

  • java求两个数中的大数(实例讲解)

    java中的max函数在Math中 应用如下: int a=34: int b=45: int ans=Math.max(34,45); 那么ans的值就是45. 以上这篇java求两个数中的大数(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例

    本文实例讲述了Python基于递归和非递归算法求两个数最大公约数.最小公倍数.分享给大家供大家参考,具体如下: 最大公约数和最小公倍数的概念大家都很熟悉了,在这里就不多说了,今天这个是因为做题的时候遇到了所以就写下来作为记录,也希望帮到别人,下面是代码: #!/usr/bin/env python #coding:utf-8 from fractions import gcd #非递归实现 def gcd_test_one(a, b): if a!=0 and b!=0: if a>b: a,

  • 详解C语言求两个数的最大公约数及最小公倍数的方法

    求两个正整数的最大公约数  思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y), f(x, y) = f(y, x - y) (x >=y > 0).根据通式写出算法不难,这里就不给出了.这里给出<编程之美>上的算法,主要是为了减少迭代的次数.      对于x和y,如果y = k * y1, x= k * x1,那么f(x, y) = k * f(x1, y1).另外,如果x = p * x1,假设p为素数

  • c#求两个数中最大值的方法

    1.三元运算符: 复制代码 代码如下: class Program    {        static void Main(string[] args)        {          int max= NumMAX(10,15);            Console.WriteLine("最大数:{0}",max);            Console.ReadKey();        }   /// <summary>        /// 两个数中最大的值

  • C语言辗转相除法求2个数的最小公约数

    辗转相除法最大的用途就是用来求两个数的最大公约数. 用(a,b)来表示a和b的最大公约数. 有定理: 已知a,b,c为正整数,若a除以b余c,则(a,b)=(b,c). (证明过程请参考其它资料) 例:求 15750 与27216的最大公约数. 解: ∵27216=15750×1+11466 ∴(15750,27216)=(15750,11466) ∵15750=11466×1+4284  ∴(15750,11466)=(11466,4284) ∵11466=4284×2+2898  ∴(114

  • 把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。

    算法分析: 1316,显然1300是13的倍数,但16不是11的倍数,可以想到从1300上任意减去N个13的倍数其结果仍然是13的倍数,那么只要16加上这个减去的N个13的倍数其和是11的倍数,这两个数就解出来了,答案可能不只一个,但是我们只求一对解就可以了. 仔细观察不难发现:(16+13*3)+(1300-13*3)=1316,但是我们需要用代码实现: 复制代码 代码如下: <?php $n=1316; $i=0;//减去的第N个13,进行初始化为0 $y=16+13*$i;//1316分出

  • python topk()函数求最大和最小值实例

    函数介绍 a.topk()求a中的最大值或最小值,返回两个值,一个是a中的值(最大或最小),一个是这个值的索引. 代码示例 >>> import torch >>> a=torch.randn((3,5)) >>> a tensor([[-0.4790, -0.6308, 0.2370, 0.0380, -0.0579], [-0.6712, -3.5483, -0.2370, -0.8658, 0.4145], [-1.4126, -0.8786,

  • C语言 如何求两整数的最大公约数与最小公倍数

    目录 题目 思路 代码 法一 法二(局部变量) 法三(全局变量) 运行结果 题目 用一函数求最大公约数,用另一函数调用此函数求出最大公约数,并用求出的最大公约数求最小公倍数. 具体要求如下: ①用全局变量.将最大公约数与最小公倍数设为全局变量,在主函数中输出它们的值. ②不用全局变量.最大公约数和最小公倍数由被调模块返回值. 思路 从两个数中选一个数,从这个数开始,逐步减一,当能够同时被两个数整除时,结束循环,即为最大公约数. 最小公倍数*最大公约数=两个数乘积. 代码 法一 #include<

随机推荐