Python中print函数输出时的左右对齐问题

为了将print函数输出的内容对齐,笔者在http://www.jb51.net/article/55768.htm中找到了左右对齐的方法。整理如下:

一、数值类型(int、float)

#  %d、%f是占位符
>>> a = 3.1415926
>>> print("%d"%a)    #%d只能输出整数,int类
3
>>> print("%f"%a)  #%f输出浮点数
3.141593
>>> print("%.2f"%a) #按照要求输出小数位数
3.14
>>> print("%.9f"%a)  #如果要求的小数位数过多,后面就用0补全
3.141592600

 


>>> b = 3         
>>> print("%4d"%b)            #如果是整数,这样写要求该整数占有四个位置,于是在前面增加三个空格
   3                                      #而不是写成0003的样式

 

>>> print("%06d"%int(a))   #整数部分的显示,要求共显示6位。如果整数不足6位,那么不足的位数在整数前面用0补足。
000003

>>> print('%06d'%b)
000012

 

在实际编程中,我们常常需要写成a=xxx的样式,使输出界面更友好。所以笔者也copy了源原链接作者的一段代码,稍稍修改给出Python3的表达范式。

(1)右对齐

>>> print("PI=%10.3f"%a)     #约束一下,这个的含义是整数部分加上小数点和小数部分共计10位,并且右对齐
PI=     3.142

(2)左对齐
>>> print("PI=%-10.3f"%a)    #要求显示的左对齐,其余跟上面一样
PI=3.142

 

二、字符类型(str)

和数值类型类似,不过将%d、%f的占位符变为了%s的占位符。

posted @ 2016-06-15 23:06  vanly  阅读(29809)  评论(0编辑  收藏  举报