python complex number print result different from shell output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | >>> 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.99999999999+2.99999999999999 J)"表单中打印出此复数?我试过
1 2 | >>> print '%15f %15fi' % (root11.real, root11.imag) 4.000000 3.000000i |
请帮助
您也可以使用新的格式语法,
1 | print"{0:.15f}+{1:.15f}i".format(root11.real, root11.imag) |
正如其中一条评论所表明的那样,
你应该使用
1 | print '%.15f %.15fi' % (root11.real, root11.imag) |
注意,在
在我的机器(python 2.7.3)中,结果是:
1 | 3.999999999999999 2.999999999999999i |