4.1.3 字符串的格式化(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)

2024-08-10
| 25页
| 87人阅读
| 19人下载
普通

内容正文:

任务4.1 字符串 统计文本中各类字符数目 4.1 字符串——统计各类字符数目 【任务描述】 小T需要协助导师统计某同学提交的一篇论文中中文、英文字母和数字的个数,以及空格字数等信息,作为初步判断论文在字数、篇幅上是否达到要求的依据。由于我们还未学习Python在文件处理中的应用,因此我们将文章作为字符串处理,并进行各类字符的统计。 4.1 字符串——统计各类字符数目 任务解决: 中文字数 英文字母个数 数字个数 空格数 其他字符个数 素养小课堂: 论文常用来进行科学研究和描述科研成果,包括毕业论文、学位论文、科技论文等。 论文一般由题名、作者、目录、摘要、关键词、正文、参考文献等部分组成,需遵循《论文写作规范国家标准》(GB7713-87)。毕业论文的撰写、答辩等是大学生必须完成的课程,论文也是大学学习成果的综合应用。因此,大学期间需做好学习规划,注重技能实践和积累,注重成果的转化,以完成高质量的毕业论文。 4.1 字符串——统计各类字符数目 4.1 字符串——统计各类字符数目 【任务分析】 (1)定义字符串。 (2)遍历字符串中的每一个字符,判断该字符的类型,并在相应的计数变量上加1。 (3)输出中文字数、英文字母个数和数字个数、空格数及其他字符个数。 4.1 字符串——统计各类字符数目 4.1.1 字符的编码 4.1.2 字符串的创建 4.1.3 字符串的常用方法 4.1.4 字符串的格式化 4.1.5 字符串任务实现——统计各类字符数目 4.1.3 字符串的格式化 4.1.3 字符串的格式化 字符串有哪些不同的输出格式? %和format进行格式化 4.1.3 字符串的格式化 输出字符串: "***同学年龄是**岁,他本学期英语成绩是**分。" 字符串 整型 浮点型 %s %d %f "%s同学年龄是%d岁,他本学期英语成绩是%f分。"%('韩梅梅',18,95.5) 1.用%格式化 Python可用%实现字符串的格式化,用于较复杂的字符串格式输出,其基本用法是将一个值插入到另一个有格式符%s的格式字符串中。 格式符号 描述 %s 将对应数据转换为字符串 %c 将对应数据转换为ASCII 码字符 %f或%F 将对应数据十进制浮点数 %d 将对应数据十进制整数 %x 将对应数据十六进制整数 %o 将对应数据八进制整数 %e或%E 将对应数据转化为指数(基底写为e或E) 4.1.3 字符串的格式化 表 Python的字符串格式化符号 4.1.3 字符串的格式化 str%value str是一个字符串,包含一个或者多个数据的格式化占位符; value表示需要格式化的数据; %表示执行格式化操作,即将str中的格式化符号替换为value。 (1)%字符串格式化的基本语法格式如下: 4.1.3 字符串的格式化 【例4-6】使用%格式化字符串。 strName='小T' intAge=21 fltScore=94.55 #%s对应strName变量,%d对应intAge变量,%f对应fltScore变量 print("%s年龄是%d岁,他本学期英语成绩是%f分。"%(strName,intAge,fltScore)) 小T年龄是21岁,他本学期英语成绩是94.550000分。 4.1.3 字符串的格式化 (2)指定最小输出宽度。 当使用格式化符号时,可以使用下面的语法格式指定最小输出宽度n。 % [n][格式符号] 4.1.3 字符串的格式化 【例4-7】指定最小输出宽度。 strName='小T' intAge=21 #姓名指定宽度为10,年龄指定宽度为5 print("%10s年龄是%5d岁。"%(strName,intAge)) 小T年龄是 21岁。 注意,当数据的实际宽度小于指定宽度时,会在左侧以空格补齐;当数据的实际宽度大于指定宽度时,会按照数据的实际宽度输出。 4.1.3 字符串的格式化 (3)指定对齐方式。 在默认情况下,print()输出的数据总是右对齐的。也就是说,当数据不够宽时,数据总是靠右边输出,而在左边补充空格以达到指定的宽度。Python允许在最小宽度之前增加一个标志来改变对齐方式,支持的字符串格式化辅助标识如表所示。 格式符号 描述 - 指定左对齐 + 表示输出的数字总要带着符号:正数带+,负数带- 0 表示宽度不足时补充0,而不是补充空格 %[-][+][0][格式符号] 4.1.3 字符串的格式化 【例4-8】指定对齐方式。 strName='小T' intAge=21 #姓名指定宽度为10,年龄指定宽度为5,带符号,左边补0 print("%10s年龄是%+05d岁。"%(strName,intAge)) 小T年龄是+0021岁。 注意,对于字符串,只能使用“-”标识,因为符号对于字符串没有意义,而补0会改变字符串的值。 4.1.3 字符串的格式化 (4)指定小数精度。 对于浮点数,Python允许指定小数点后的数字位数,即指定小数的输出精度。精度值需要放在最小宽度之后,中间用点号“.”隔开;也可以不写最小宽度,只写精度。具体的语法格式如下: %m.nf 或者%.nf m表示最小宽度,n表示输出精度,“.”不能省略,是必须存在的。 4.1.3 字符串的格式化 【例4-9】指定小数精度。 strName='小T' fltScore=94.55 #最小宽度为8,小数点后保留3位,左边补0 print("%s本学期英语成绩是%08.3f分。"%(strName,fltScore)) #最小宽度为8,小数点后保留1位,带符号 print("%s本学期数学成绩是%+08.1f分。"%(strName,fltScore)) 小T本学期英语成绩是0094.550分。 小T本学期数学成绩是+00094.5分。 4.1.3 字符串的格式化 即学即答:语句print('%d'%103.55)输出结果是( )。A.103 B.104C.103.55 D.104.00 2.用format函数格式化 (1)format函数基本格式 槽组字符串由字符串和槽组组成,用来控制字符串和变量的显示格式, 槽组用大括号“{}”表示,每个槽组对应format()中的相应参数。 "<槽组字符串>".format(逗号分隔的参数) 4.1.3 字符串的格式化 【例4-10】format()函数基本格式的使用。 strName="小T" intAge=19 fltScore=94.5 #不指定位置,参数按默认顺序对应槽组 print("{}年龄是{}岁,他本学期大学英语成绩是{}分。".format(strName,intAge,fltScore)) #指定位置,参数按指定的顺序对应槽组 print("{0}年龄是{1}岁,他本学期大学英语成绩是{2}分,高等数学成绩也是{2}分。".format(strName,intAge,fltScore)) 小T年龄是19岁,他本学期大学英语成绩是94.5分。 小T年龄是19岁,他本学期大学英语成绩是94.5分,高等数学成绩也是94.5分。 4.1.3 字符串的格式化 (2)用format()函数格式化数字 format函数槽组中,允许对数值型数据进行格式化。槽组内数字格式化的基本语法格式为: 冒号(:)是格式引导符, 冒号前面的数字表示format函数中参数的索引 冒号后面的信息是格式化的格式 如{0:5d}表示format中第一个参数按5位宽度输出,如果参数宽度大于5则按实际位数输出,否则输出右对齐、左边补空格、宽度为5的参数。 {数字:<填充字符><对齐方式><宽度>} 4.1.3 字符串的格式化 4.1.3 字符串的格式化 format()格式化数字的方法 数字 格式 输出 描述 "{:.2f}".format(3.1415) "{:.nf}".format(s) 3.14 保留小数点后n位小数 "{:+.2f}".format(3.1415) "{:+.nf}".format(s) +3.14 带符号保留小数点后n位小数 "{:6.2f}".format(3.1415) "{:m.nf}".format(s) 3.14 保留小数点后n位小数,宽度为m "{:0>4d}".format(3) "{:0>nd}".format(s) 0003 数字左边补0,宽度为n "{:<4d}".format(3) "{:x<nd}".format(s) 3xxx 数字右边补x,宽度为n "{:4d}".format(13) "{:nd}".format(s) 13 右对齐,宽度为n "{:<4d}".format(13) "{:<nd}".format(s) 13 左对齐,宽度为n "{:^4d}".format(13) "{:^nd}".format(s) 13 中间对齐,宽度为n "{:,}".format(1000000) "{:,}".format(s) 1,000,000 以逗号分隔的数字格式 "{:.2%}".format(0.25) "{:.n%}".format(s) 25.00% 百分比格式,保留两位小数 "{:.2e}".format(100000) "{:.ne%}’.format(s) 1.00e+09 指数计数法,保留两位小数 【例4-11】用format()函数格式化数字。 strName='小T' intAge=19 fltScore=94.5 strName1='Peter' intAge1=20 fltScore1=88 print("序号 姓名 年龄 成绩") print("----------------------------------------------") # 如果冒号(:)前有参数索引,全部槽组内设参数索引,否则全部不设索引 print("{:^8d}{:^8}{:<8d}{:6.2f}".format(1,strName,intAge,fltScore)) print("{:^8}{:^8}{:<8d}{:6.2f}".format(2,strName1,intAge1,fltScore1)) 4.1.3 字符串的格式化 边学边练:1-10的十个数字,请将其转换为“0001.jpg”、“0002.jpg”、“0003.jpg”......“0010.jpg”输出。提示:十个连续自然数的产生,可以使用“for i in range(1,11)”语句实现。 $$

资源预览图

4.1.3  字符串的格式化(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
1
4.1.3  字符串的格式化(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
2
4.1.3  字符串的格式化(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
3
4.1.3  字符串的格式化(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
4
4.1.3  字符串的格式化(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
5
4.1.3  字符串的格式化(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。