Python格式化间距问题?

时间:2013-10-08 03:48:55

标签: python formatting

所以我遇到了Python格式的问题,其中数字前面的符号占用空间并且与我想要呈现的所有数字不对齐。此外,积极的迹象并没有表现出来。

以下是我的代码示例:

number1 = 23.12312312
number2 = -31.3131313
number3 = 63.1335

number4 = 12.323
number5 = 23.1111
number6 = 14.5555

print("{0:<15}    {1:+>3.6f}   {2:+>3.6f}".format(number1, number2, number3))
print("{0:<15}    {1:+>3.6f}   {2:+>3.6f}".format(number4, number5, number6))
print("{0:<15}    {1:+>3.6f}   {2:+>3.6f}".format(number1, number2, number3))

输出:

23.12312312        -31.313131   63.133500
12.323             23.111100   14.555500
23.12312312        -31.313131   63.133500

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

让我们选择一个数字。研究这些直到光明亮起来; - )

>>> x = 23.12312312
>>> print "{:3.6f}".format(x)
23.123123
>>> print "{:10.6f}".format(x)
 23.123123
>>> print "{:11.6f}".format(x)
  23.123123
>>> print "{:+11.6f}".format(x)
 +23.123123

.之前的数字是输出字段的宽度,而不是小数点前的位数。你的3太小了。

并且通常不需要> - 默认情况下大多数事情都是正确的。如果您必须使用它,请将+放在>之后,而不是>之前。够好吗?