处理复杂数字时发生了一些荒谬的事情。
> complex(1,2)/complex(1,2)
(1+0j)
这个很好,但是......
>complex(15,22)/complex(15,22)
(1-5.51196762578357e-17j)
(什么?)
> a=complex(15,22)/complex(15,22)
> a.imag
-5.51196762578357e-17
> int(a.imag)==a.imag
False
当然假想部分不是零...... 请亲自尝试并见证这种讽刺的情况。
再举一个例子。
> print c
(74+33j)
> c/(1+10j)
(4-7.000000000000001j)
当然,-7.0000000000000000001
应该是-7
。