复数的美观打印

1 投票
3 回答
3242 浏览
提问于 2025-04-18 12:45

我有一串复数,这些复数是通过一维离散傅里叶变换得到的。我想把它们整齐地显示成一列,每个复数的实部和虚部都保留到小数点后四位,像这样:

21.0000 +  0.0000j
-3.0000 +  5.1962j
-3.0000 +  1.7321j
-3.0000 +  0.0000j
-3.0000 -  1.7321j
-3.0000 -  5.1962j

当然,显示的时候要对齐到小数点上。有没有简单的方法可以做到这一点?也就是说,有没有什么格式化复数的办法?

3 个回答

0

也许你在寻找类似这样的东西:

>>> a = -3 - 5.3j
>>> "{num.real:+0.04f} {num.imag:=+8.04f}j".format(num=a)
'-3.0000 - 5.3000j'
0

你可以这样做:

print '%0.4f + %0.4fi' % (a.real, a.imag)
3

使用新的 format 函数。

>>> a = -3 + 5.3j
>>> a
(-3+5.3j)
>>> "{num.real:+0.04f} {num.imag:+0.04f}j".format(num=a)
'-3.0000 +5.3000j'

撰写回答