格式化输出

python格式化输出有2种,一种是%运算符,一种是字符串的formant方法

一、%运算符

运算符格式化字符串,在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
 
字符串格式代码

符号 说明
%s 字符串
%d 十进制(整数)
%f 浮点数
%x 十六进制整数
%o 八进制整数
 
字符串输出
符号 说明
- 指定左对齐
+ 表示数值总要带着符号
0 表示不补充空格,而是不充0
# 字符串左对齐,最小宽度为5,不足位用0补齐
print("%-5f" %3.14)
# 带负号,最小宽度10,不足位用0补齐
print("%+10s" %("-100"))
# 最小宽度10,保留2位小数点
print("%10.2f" %31.415926)
# 不指定字符串宽度,保留2位小数
print("%.2f" %3.14)
# 保留2位字符串
print("%.2s" %"lisi")

 

二、format()方法

另一种格式化字符串的方法是使用字符串的format()方法,
它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:

# 保留1位小数
print("my name is {0}, i am {1:.1f} hight".format("lisi",177.48))

 

三、练习

练习:小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,
并用字符串格式化显示出'xx.x%',只保留小数点后1位:

grade_last_year = int(input("请输入小明去年的成绩:"))
grade_this_year = int(input("请输入小明今年的成绩"))
grade_pro = (grade_this_year - grade_last_year) / grade_last_year * 100
print("小明成绩提升了%.1f%%" %grade_pro)

ps:字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%

posted @ 2019-07-23 09:07  吓吾一跳  阅读(247)  评论(0编辑  收藏  举报