如何右对齐一列数字?

时间:2012-08-08 10:35:26

标签: python python-3.x

我有以下python代码:

#This program converts the speeds 60 KPH
#through 130 KPH (in 10 kph increments)
#to MPH

#Global constants
START = 60
END = 131
INCREMENT = 10
CONVERSION_FACTOR = 0.6214

def main():
    #Print the table headings
    print('KPH\t\tMPH')
    print('----------------')

    #Print the speeds
    for kph in range(START, END, INCREMENT):
        mph = kph * CONVERSION_FACTOR
        print(kph, '\t\t', format(mph, '.1f'))

#Call the main function
main()

运行此代码我得到以下结果:

KPH     MPH
----------------
60       37.3
70       43.5
80       49.7
90       55.9
100          62.1
110          68.4
120          74.6
130          80.8

如何正确对齐第二列,以便更好地显示我的结果?

2 个答案:

答案 0 :(得分:11)

使用Format Specification Mini-Language

"{:>10.3}".format(12.34)

结果(使用_表示空格):

______12.3

答案 1 :(得分:3)

您可以使用printf样式格式将宽度指定为。

>>> print('%10.2f' % 1.23456)
      1.12

在您的示例中,您可以使用:

print('%-10i%.1f' % (kph, mph))