>>> a=4.
>>> b=3.
r = sqrt(a ** 2 + b ** 2)
x = atan(b/a)
a = r * cos(x)
b = r * sin(x)
k = 0
y = (2 * pi * k + x) /3
root1 = r ** (1./3) * (cos(y)+ 1j * sin(y))
root11 = root1**4/root1
>>> root11
(3.999999999999999+2.999999999999999j)
>>> print root11
(4+3j)
如何在此'(3.999999999999999 + 2.999999999999999j)'表格中打印出此复数?我试图蟒复数打印结果与shell输出不同
>>> print '%15f %15fi' % (root11.real, root11.imag)
4.000000 3.000000i
请帮助
shell会打印十进制数字的'repr'输出。 [用浮漂并串转换奇怪的行为]的 –
可能重复(http://stackoverflow.com/questions/13345334/strange-behaviour-with-floats-and-string-conversion) –
因为'print'(实际上'浮动。 __str__'和'%15f'四舍五入的数字 – JBernardo