如何在最终输出下正确显示打印输出

时间:2014-10-04 21:13:17

标签: python debugging python-3.x formatting

我试图创建一个半径图表,输出看起来像这样。

Radius           Area            Circumference
1.000             3.142           6.283
2.000             ....            ....  

这是我一直得到的

 radius     area     circumference
   1        3.142     6.283
 radius     area     circumference
    2        ...       .... 

我遇到的问题是我的代码输出的是每个行的半径区域和周长,我不知道如何解决这个问题。

    def main():
    x = ("radius")
    y = 'area'
    z = 'circumference'


for Radius in range(1 , 11):
    round (3)

    Area = (Radius)**2*3.14
    Circumference =  (Radius)*2*(3.14)
    a = Radius
    b = Area
    c = Circumference

    x = ("radius")
    y = 'area'
    z = 'circumference'
    print ('radius   area     circumference')
    print ('{:2d}    {:10.3f}   {:10.3f}'.format(a, (b), (c)))

2 个答案:

答案 0 :(得分:0)

试试这个

print('{:10}{:10}{:10}'.format('radius', 'area', 'circumference'))
print('{: <10}{: <10.3f}{: <10.3f}'.format(1, 2.2, 3))

来自文档

 '{:<30}'.format('left aligned')
 'left aligned                  '
 '{:>30}'.format('right aligned')
 '                 right aligned'
 '{:^30}'.format('centered')
 '           centered           '
 '{:*^30}'.format('centered')  # use '*' as a fill char
 '***********centered***********'

https://docs.python.org/2/library/string.html#formatstrings

答案 1 :(得分:0)

由于print ('radius area circumference')位于for循环中,因此每次循环时都会重复此循环。相反,您应该将此行放在循环之前一次打印出标题。