欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python中的格式化输入输出

程序员文章站 2024-03-23 21:10:04
...

目录

 

1. 什么是格式化输出

2. 格式化字符串含义

3. 语法格式

4. 整型%d和字符串%s

5.浮点型

6.百分号的实现

7.练习1:批量生成100个学号(132001、132002..........132100)

8.练习2:要求如下:求平均成绩(python3解释器)(1)输入学生姓名(2)依次输入学生的语文,数学,英语三门科目成绩(3)计算该学生的平均成绩并打印,平均成绩保留一位小数点(4)计算该学生语文成绩占总成绩的百分之多少?并打印,百分比保留两位小数


1. 什么是格式化输出

在python中可以使用print函数将信息输出到控制台
如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符
% 被称为格式化操作符,专门用于处理字符串中的格式,包含%的字符串,被称为格式化字符串
% 和不同的字符连用,不同类型的数据需要使用不同的格式化字符

 

2. 格式化字符串含义

python中的格式化输入输出

 

3. 语法格式

print ('格式化字符串' % 变量1)
print ('格式化字符串' % (变量1,变量2...))

用格式化字符串把需要填写变量的地方先占上
一个python程序可以从键盘读取数据,可以从文件读取数据,程序的结果可以输出到终端屏幕上,可以保存到文件中便于以后使用

 

4. 整型%d和字符串%s

定义name和age变量
以name的年龄为age格式输出
更改变量age的值,重新打印结果,可以看到,年龄的值发生改变
更改变量age的值为字符串类型
当age变量的值为小数时
可以看到打印的变量自动取整
在python3中%d自动将小数取整    此外,%.3d=%03d,意为共输出3位数字,不够补0

>>> name="lbj"
>>> age=35
>>> print (name,age)
lbj 35
>>> print ("name:%s age:%d" %(name,age))
name:lbj age:35
>>> age=36
>>> print ("name:%s age:%d" %(name,age))
name:lbj age:36
>>> age=33.33
>>> print ("name:%s age:%d" %(name,age))
name:lbj age:33
>>> age=35
>>> print ("name:%s,age:%.3d" %(name,age))
name:lbj,age:035
>>> print ("name:%s,age:%03d" %(name,age))
name:lbj,age:035
>>> print ("name:%s,age:%04d" %(name,age))
name:lbj,age:0035
>>> print ("name:%s,age:%.4d" %(name,age))
name:lbj,age:0035


5.浮点型

定义money和name两个变量
打印name的工资为money,可以看到,保留了小数点后六位
%f默认保留6位小数
%.2f表示只保留小数点后两位

>>> name="zxn"
>>> money=999.99999
>>> print("%s的工资为%f" %(name,money))
zxn的工资为999.999990
>>> money=99999
>>> print("%s的工资为%f" %(name,money))
zxn的工资为99999.000000
>>> money=998.765477
>>> print("%s的工资为%.3f" %(name,money))
zxn的工资为998.765
>>> print("%s的工资为%.2f" %(name,money))
zxn的工资为998.77

 

6.百分号的实现

>>> percent=76.4398
>>> print ("成功率为:%f" %(percent))
成功率为:76.439800
>>> print ("成功率为:%f%%" %(percent))
成功率为:76.439800%
>>> print ("成功率为:%.3f%%" %(percent))
成功率为:76.440%
>>> print ("成功率为:%03f%%" %(percent))
成功率为:76.439800%
>>> print ("成功率为:%.6f%%" %(percent))
成功率为:76.439800%

 

7.练习1:批量生成100个学号(132001、132002..........132100)

>>> ["132%.3d" %(i) for i in range(1,101)]
['132001', '132002', '132003', '132004', '132005', '132006', '132007', '132008', '132009', '132010', '132011', '132012', '132013', '132014', '132015', '132016', '132017', '132018', '132019', '132020', '132021', '132022', '132023', '132024', '132025', '132026', '132027', '132028', '132029', '132030', '132031', '132032', '132033', '132034', '132035', '132036', '132037', '132038', '132039', '132040', '132041', '132042', '132043', '132044', '132045', '132046', '132047', '132048', '132049', '132050', '132051', '132052', '132053', '132054', '132055', '132056', '132057', '132058', '132059', '132060', '132061', '132062', '132063', '132064', '132065', '132066', '132067', '132068', '132069', '132070', '132071', '132072', '132073', '132074', '132075', '132076', '132077', '132078', '132079', '132080', '132081', '132082', '132083', '132084', '132085', '132086', '132087', '132088', '132089', '132090', '132091', '132092', '132093', '132094', '132095', '132096', '132097', '132098', '132099', '132100']
>>> 

 

8.练习2:要求如下:
求平均成绩(python3解释器)
(1)输入学生姓名
(2)依次输入学生的语文,数学,英语三门科目成绩
(3)计算该学生的平均成绩并打印,平均成绩保留一位小数点
(4)计算该学生语文成绩占总成绩的百分之多少?并打印,百分比保留两位小数

#!/usr/bin/python3
name=input("请输入姓名:")
chinese=float(input("语文成绩:"))
math=float(input("数学成绩:"))
english=float(input("英语成绩:"))
sum=chinese+math+english
ave=sum/3
chineseper=chinese/sum*100
print("%s的平均成绩为%.1f" %(name,ave))
print("%s的语文成绩所占比例为:%.2f" %(name,chineseper))

python中的格式化输入输出

相关标签: Python

上一篇: 接口限流算法及解决方案

下一篇: