如何使用python的内置函数divmod()

2025-05-07 03:41:53

1、divmod()函数可以用来求a对b取余的商和余数。它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。对整型和浮点数都可以操作,这里我们可以看到python对浮点数是近似处理,divmod(5.2,1.2)应该为(4,0.4)

如何使用python的内置函数divmod()

2、那么a到底是一个什么类型呢?用小括号包含着,我猜应该是tuple。用>>> type(a)<class 'tuple'>命令检测一下。果然正确

如何使用python的内置函数divmod()

3、老方法,用>>> help(divmod)Help on built-in function divmod in module builtins多唉捋胝:divmod(x, y, /) Return the tuple (x//y, x%y). Invariant: div*y + mod == x.来查询divmod的帮助文档

如何使用python的内置函数divmod()

4、>>> divmod(5.2,2)(2.0, 1.2000000000000002)>>> divmod(1+2j,2)Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> divmod(1+2j,2)TypeError: can't take floor or mod of complex number.>>>a和b可以是混合的浮点数和整数,结果为两个浮点数。但是a和b都不能是复数,因为不能对复数取floor和mod。

如何使用python的内置函数divmod()

5、对于混合操作数类型,适用双目算术运算符的规则。对于整数,结果和 (a // b, a % b) 一致。对于浮点数,结果是 (q, a % b) ,q 通常是 math.floor(a / b) 但可能会比 1 小。在任何情况下, q * b + a % b 和 a 基本相等。我们写了一些代码来测试看看。

如何使用python的内置函数divmod()

6、如果 a % b 非零,它的符号和 b 一样,并且 0 <= abs(a % b) < abs(b) 。对于负数这个还蛮考验人的。

如何使用python的内置函数divmod()
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢