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的占位符。