Python中的复数模数

时间:2013-12-25 11:03:40

标签: python python-2.7 complex-numbers

通过以下方式: -

>>>(9+2j)%(2+1j)
(1-2j)
>>>divmod(9+2j,2+1j)
((4+0j),(1-2j))

它显示商是(​​4 + 0j),余数是(1-2j),但它是如何计算的?

 >>>(9+2j)/(2+1j)
 (4-1j)

这样,答案就是(4-1j),因此模数将为0.

模数如何在Python 2.7中使用复数?

1 个答案:

答案 0 :(得分:0)

divmod(x, y)(应该是)等同于(x // y, x % y)。对于复数,x // y给出了实部的底线,而不是分别对实部和虚部进行分层。 x % y等于x - (x // y) * y,因此以下等式成立:

x = (x // y) * y + (x % y)

请注意,在Python 3中,divmod不再接受复杂的参数。您可以在官方Python源代码存储库中查看Python 2.7Python 3.3的源代码。