python格式化字符串有两种方式:
1、百分号形式(%):默认右对齐 "-"表示多对齐
常用的类型码: s -->字符串 d---->数字 f--->浮点数
%s %d %d
%[+-宽度.精度]类型码 #精度,就是小数点后保留的位数,默认是6位
2、format方法形式---先进一点
默认右对齐
“:” 后面可以带填充的字符,只能填一个:比如 “-”、"a" ,默认空格
>>> "{:-<12d}".format(8) #12,是宽度。d,指数字。
'8-----------'
>>> "{:0
'80000000'
下面举例说明:
输入三行字符,1)以指定宽度左右对齐;
2)以最长字符串的长度左右对齐
str1 = input("请输入第一行文字:")
str2= input("请输入第二行文字:")
str3= input("请输入第三行文字:")
1、%形式---默认右对齐
以指定宽度对齐:20宽度
右对齐:
print("%20s" %str1)print("%20s" %str2)print("%20s" % str3)
左对齐:
print("%-20s" %str1)print("%-20s" %str2)print("%-20s" % str3)
以最长字符串宽度对齐:
右对齐:
max_length =max(len(str1),len(str2),len(str3))#fmt = "%%%ds" % max_length #“%数字s”
fmt = "%" + str(max_length) + "s"
print(fmt)print(fmt %str1)print(fmt %str2)print(fmt % str3)
左对齐:
max_length=max(len(s1),len(s2),len(s3))#fmt = "%%%ds" % -max_length #“%数字s”
fmt = "%" + str(-max_length) + "s"
print(fmt)print(fmt %str1)print(fmt %str2)print(fmt % str3)
2、format形式
指定宽度:
右对齐:print("{:>20}".format(str1))print("{:>20}".format(str2))print("{:>20}".format(str3))
左对齐:print("{:<20}".format(str1))print("{:<20}".format(str2))print("{:<20}".format(str3))
最长字符宽度:
右对齐:#自定义宽度,用变量max_length绑定,传入里面的 "{}"
print("{:>{}}".format(str1,max_length))print("{:>{}}".format(str2,max_length))print("{:>{}}".format(str3,max_length))
左对齐:#自定义宽度,用变量max_length绑定,传入里面的 "{}"
print("{: