Python divmod()

时间:2020-02-23 14:42:39  来源:igfitidea点击:

Python divmod()函数用于对两个输入数字进行除法。
数字应该是非复杂的,并且可以以任何格式编写,例如十进制,二进制,十六进制等。

Python divmod()

Pythondivmod()语法为:

divmod(a, b)

使用整数除法时,输出是一个由它们的商和余数组成的元组。

对于整数参数,结果与(a //b,a%b)相同。

对于浮点数,结果为(q,a%b),其中q通常为(math.floor(a/b),a%b)。
无论如何,q * b + a%b非常接近a。

如果%b不为零,则它的符号与b相同,并且0 <= abs(a%b)<abs(b)。

带有整数的Python divmod()示例

# simple example, returns (a //b, a % b) for integers
dm = divmod(10, 3)
print(dm)

x, y = divmod(10, 3)
print(x)
print(y)

dm = divmod(0xF, 0xF)  # hexadecimal
print(dm)

输出:

(3, 1)
3
1
(1, 0)

带有浮点数的Python divmod()示例

# floats, returns usually (math.floor(a/b), a % b)
dm = divmod(10.3, 3)
print(dm)

dm = divmod(11.51, 3)
print(dm)

dm = divmod(-11.51, 3)
print(dm)

输出:

(3.0, 1.3000000000000007)
(3.0, 2.51)
(-4.0, 0.4900000000000002)

注意,在浮点的情况下,q * b + a%b在某些情况下非常接近于'a'。

带有复数的divmod()

如果我们将复数作为参数传递,则将得到TypeError。

dm = divmod(3 + 2J, 3)

输出:TypeError:不能取下或者复数的mod。