Python如何格式化输出字符串! 20
print(" ** 0: %-18s %-18s 目标平台:%-18s" %("CSV","数据表资源","PC,IOS,Android"));
print(" ** 1: %-18s %-18s 目标平台:%-18s" %("UI","界面资源","PC,IOS,Android"));
print(" ** 2: %-18s %-18s 目标平台:%-18s" %("Scene","场景资源","PC,IOS,Android"));
print(" ** 3: %-18s %-18s 目标平台:%-18s" %("Audio","音乐音效资源","PC,IOS,Android"));
print(" ** 4: {0:18} {1:18} {2:<18}".format("HalfRole","半身像资源","目标平台:PC,IOS,Android"));
print(" ** 5: {0:18} {1:18} {2:<18}".format("HeroCard","卡牌资源","目标平台:PC,IOS,Android"));
print(" ** 6: {0:18} {1:18} {2:<18}".format("SingleSpriteImage","图标资源","目标平台:PC,IOS,Android"));
print(" ** 7: {0:18} {1:18} {2:<18}".format("CharacterAndEffect","角色和技能特效资源","目标平台:PC"));
print("*********************************************************");
这样排版最后怎么是歪的呢!麻烦大神门看看为什么!
贴一堆输出方式没用啊,我又不是不知道该怎么去格式化输出,我的问题看图就知道了!大神只需告诉我代码你哪里出的问题,导致最后一列没对齐就行了,别在贴怎么去格式化输出的代码了! 展开
python一共有两种格式化输出语法,
一种是类似于C语言printf的方式,称为 Formatting Expression
>>>print '%s %d-%d' % ('hello', 7, 1)
'hello 7-1'
另一种是类似于C#的方式,称为String Formatting Method Calls
>>>print '{0} {1}:{2}'.format('hello', '1', '7')
'hello 1:7'
第一种方式可以指定浮点数的精度,例如
>>> print'%.3f' % 1.234567869
'1.235'
运行时动态指定浮点数的精度
但是当代码在运行中如何动态地通过参数来指定浮点数的精度呢?
python的神奇之处在于它又提供了一种非常方便的语法。只需要在 typecode(这里是f)之前加一个 *,浮点数的精度就用它前面的数字来指定。
>>> for i in range(5):
... print'%.*f' % (i, 1.234234234234234)
...
'1'
'1.2'
'1.23'
'1.234'
'1.2342'
通过输出结果可以看出,精度都是在运行时动态指定,这样就省去了格式化字符串的拼凑。
使用 String Formatting Method Calls 可以更简洁地完成功能。
>>> for i in range(5):
... print'{0:.{1}f}'.format(1 / 3.0, i)
...
'0'
'0.3'
'0.33'
'0.333'
'0.3333'
附录是一些常用用法——
python print格式化输出。
1. 打印字符串
print ("His name is %s"%("Aviad"))
2.打印整数
print ("He is %d years old"%(25))
3.打印浮点数
print ("His height is %f m"%(1.83))
4.打印浮点数(指定保留小数点位数)
print ("His height is %.2f m"%(1.83))
5.指定占位符宽度
print ("Name:%10s Age:%8d Height:%8.2f"%("Aviad",25,1.83))
6.指定占位符宽度(左对齐)
print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Aviad",25,1.83))
7.指定占位符(只能用0当占位符?)
print ("Name:%-10s Age:%08d Height:%08.2f"%("Aviad",25,1.83))
8.科学计数法
format(0.0015,'.2e')
格式是这样的print('格式化形式...格式化形式...' % (对象,对象))
对象的类型是各种各样的!
1.print('%s...%s...' % (对象,对象))这里的%s是字符串形式,对象可以是变量(变量的值是字符串形式)或者字符串
2.print('%d...%d...' % (对象,对象))这里的%d是数形式,对象可以是变量(变量的值是数,但是不能有小数点)或者没有小数点的数
3.print('%.数字f...%.数字f' % (对象,对象))这里的%f是数形式,对象可以是变量(变量的值是数,但是一定要有小数点)或者有小数点的数
PS:%f的格式f前面是留住的小数点,留着的小数点数前面要有个.例:a = 5.44我想输出是留下一位小数就写print('%.1f' % (a))就是正确输出了
望采纳,谢谢