目录

文章目录

  • 目录
  • 背景
  • 问题一及解答
    • 问题
    • 解答
      • 程序框图
      • 数据流图
      • 程序代码
  • 问题二及解答
    • 问题
    • 解答
      • 程序框图
      • 数据流图
      • 程序代码
  • 知识点总结

背景

《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。该作品气势磅礴,人物众多,非常经典。这里给出一个《天龙八部》的网络版本,文件名为”天龙八部-网络版.txt”。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

问题一及解答

问题

请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒号:分隔,输出保存到“天龙八部-汉字统计.txt”文件中,该文件要求采用 CSV 格式存储,参考格式如下(注意,不统计空格和回车字符):‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

天:100, 龙:110, 八:109, 部:10

(略)

解答

程序框图

Created with Raphaël 2.2.0 开始 以只读模式打开文本 天龙八部-网络版.txt, 并保存为行文本lines 遍历行本文lines, 是否达到 文本lines末尾? 结束 遍历列表line 元素elm,是否到达 列表line末尾? 移动到行文本的下一行line 字符elm是否不在 集合{' ', '\n', '\ufeff', '\u3000'}中? 利用字典stat的get方法 对字符elm进行计数; 或者直接根据字典数据stat[elm] 进行词频统计 移动到列表line中的下一个元素elm yes no yes no yes no

数据流图

文本 txt
读取文本 txt
列表类型 lines
遍历列表 lines
字符串 line
字符串 line
遍历字符串 lines
统计字符
elm个数
字典类型 stat
将字典转化
成列表 ls
列表 ls
列表 ls
将列表 ls写入
文本
txt
文本 txt

程序代码

with open("天龙八部-网络版.txt", "r", encoding = "UTF-8") as fi:lines = fi.readlines()stat = {}
for line in lines:for elm in line:if elm not in {' ', '\n', '\ufeff','\u3000'}:###############方法一:利用字典的get方法进行词频统计############# stat[elm] = stat.get(elm,0) + 1###############方法二:根据字典数据进行词频统计##############if elm in stat:stat[elm] += 1else:stat[elm] = 1
ls = []
for elm in stat:ls.append("{}:{}".format(elm,stat[elm]))
with open("天龙八部-汉字统计.txt", "w", encoding ="UTF-8") as fo:fo.write(",".join(ls))

问题二及解答

问题

请编写程序,对《天龙八部》文本中出现的中文词语进行统计,采用 jieba 库分词,词语与出现次数之间用冒号:分隔,输出保存到“天龙八部-词语统计.txt”文件中。参考格式如下(注意,不统计任何标点符号):‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

天龙:100, 八部:10

(略)

本题暂不支持自动评阅,print(‘ok’),即可得分

解答

程序框图

Created with Raphaël 2.2.0 开始 以只读模式打开文本 天龙八部-网络版.txt, 并保存为行文本lines 导入第三方库jieba 遍历行本文lines, 是否达到 文本末尾? 结束 利用第三方库jieba进行中文分词 并返回分词后的列表ls 遍历列表ls 元素——字符elm, 是否到达 列表末尾? 移动到行文本lines的下一行 字符elm是否不在 集合{' ', '\n', '\ufeff', '\u3000'}中? 利用字典stat的get方法 对字符elm进行计数; 或者直接根据字典stat数据 进行词频统计 移动到列表ls中的下一个元素 yes no yes no yes no

数据流图

文本 txt
读取文本 txt
列表类型 lines
遍历
字符串 line
字符串 line
对字符串 line
进行分词
分词后的列表 ls
统计字符串 elm
个数
字典类型 stat
字典类型 stat
将字典 stat转化
成列表 ls
列表 ls
将列表写入
文本 txt
文本 txt

程序代码

with open("天龙八部-网络版.txt", "r", encoding = "UTF-8") as fi:lines = fi.readlines()from jieba import *stat = {}
for line in lines:ls = lcut(line) # 利用第三方库jieba进行中文分词for elm in ls:if elm not in {"","\ufeff", ",","。","!","“","”",":","\n",\"、"," ",':',"\u3000",",","","《","》",\"·","(",")","?"}: # 如果不是标点符号,那么进行词频统计if elm in stat:stat[elm] += 1else:stat[elm] = 1##############将词频统计以“词语:出现次数”进行显示##########
ls = []
for key in stat:ls.append("{}:{}".format(key,stat[key]))
###########################################################with open("天龙八部-词语统计.txt", "w", encoding = "UTF-8") as fo:fo.write(",".join(ls))

知识点总结

注释:

  1. 学会构造字典进行字频统计。学会利用两种方法对字出现的次数进行计数:字典get方法以及直接根据字典数据的方法。
  2. 熟练利用保留字in、not in判定指定字符是否在字符串中。
  3. 学会利用字符串的join(iter)方法对迭代类型变量后的每一个元素加入字符串。注意该方法的返回类型是加入元素后的字符串
  4. 学会利用format对字符串进行格式化。

全国计算机等级考试二级Python语言程序设计模拟试卷B卷综合应用题相关推荐

  1. 全国计算机等级考试二级Python语言程序设计模拟试卷A卷综合应用题

    目录 文章目录 目录 背景 问题一及其解答 问题 解答一 总程序框图 子程序1 子程序2 子程序3 程序代码 程序解释 解答二 总程序框图 子程序1 子程序2 子程序3 程序代码 解答三 总程序框图 ...

  2. 计算机二级应用题改卷,全国计算机等级考试二级Python语言程序设计模拟试卷B卷综合应用题-Go语言中文社区...

    目录 背景 <天龙八部>是著名作家金庸的代表作之一,历时4年创作完成.该作品气势磅礴,人物众多,非常经典.这里给出一个<天龙八部>的网络版本,文件名为"天龙八部-网络 ...

  3. python应用题应用背景及实际意义_全国计算机等级考试二级Python语言程序设计模拟试卷B卷综合应用题-Go语言中文社区...

    目录 背景 <天龙八部>是著名作家金庸的代表作之一,历时4年创作完成.该作品气势磅礴,人物众多,非常经典.这里给出一个<天龙八部>的网络版本,文件名为"天龙八部-网络 ...

  4. 全国计算机等级考试二级Python语言程序设计模拟试卷D卷综合应用题

    文章目录 背景 问题一及其解答 问题 解答 总程序框图 子程序1 子程序2 子程序3 数据流图 程序代码 问题二及其解答 问题 解答 总程序框图 子程序1 子程序2 子程序3 数据流图 程序代码 知识 ...

  5. 全国计算机等级考试二级 Python语言程序设计考试大纲(2022年版)

    全国计算机等级考试二级 Python语言程序设计考试大纲(2022年版) 计算机二级Python刷题小程序推荐 基本要求 掌握Python语言的基本语法规则。 掌握不少于个基本的Python标准库。 ...

  6. 计算机二级考试python考试大纲_全国计算机等级考试二级Python语言程序设计考试大纲(2018年版)...

    随着Python的快速发展,Python已经纳入了计算机的等级考试,如下介绍一下Python语言程序设计考试大纲. 基本要求 掌握Python语言的基本语法规则; 掌握不少于2个基本的Python标准 ...

  7. 计算机等级考试二级 Python 语言程序设计考试大纲(2022 版)

    专栏文章索引如下: 考试大纲 第 1 章 程序设计基本方法 第 2 章 Python 语言基本语法元素 第 3 章 基本数据类型 第 4 章 程序的控制结构 第 5 章 函数和代码复用 第 6 章 组 ...

  8. 全国计算机等级考试二级c语言程序设计,全国计算机等级考试二级教程:C语言程序设计(2016年版) pdf epub mobi txt 下载...

    全国计算机等级考试二级教程:C语言程序设计(2016年版) pdf epub mobi txt 下载 图书介绍 ☆☆☆☆☆ 教育部考试中心 编 下载链接在页面底部 发表于2021-05-17 类似图书 ...

  9. 二级java pdf_全国计算机等级考试二级Java语言程序设计.PDF

    全国计算机等级考试二级Java语言程序设计 全国计算机等级考试二级Java语言程序设计 ① 考试大纲 (2013年版) 基本要求 1.掌握Java语言的特点.实现机制和体系结构. 2.掌握Java语言 ...

最新文章

  1. android x86小白安装教程,小白的教程,在windows上安装完美的Android手机驱动
  2. 怎样看待大学期间的代码练习
  3. python turtle画气球-micro:bit + LoRa 实现气球追踪
  4. 每天三分钟玩转Git(已完结)
  5. Hadoop集群中添加硬盘
  6. 这是我第一次使用代码创建出一个窗口【python 游戏实战 01】
  7. 体验了一下用word 2007发表博客
  8. 201521123035《Java程序设计》第八周学习总结
  9. 二、Arcgis api js -- Graphic
  10. 停止做这7件事,你的工作效率至少翻一倍!
  11. 大数据时代的可扩展性数据库集群技术
  12. java添加多个按钮_java-向JFrame添加多个按钮,文本颜色不显示
  13. VC++6.0安装完成后MSDEV.EXE出错的解决办法
  14. 微软bing每日壁纸API接口
  15. 查看kms服务器客户端信息,KMS 服务器测试
  16. 详谈HTTPS SSL/TLS协议原理
  17. 网易云课堂python怎样_有木有人上过网易云课堂的 Python Web 微专业,怎么样?
  18. 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素
  19. URL 重写的常见用法
  20. 如何设置使用电脑默认浏览器打开微信中发的链接

热门文章

  1. PrintUtils-打印工具类
  2. JS滚轮事件(mousewheel/DOMMouseScroll)了解 (转载)
  3. 如何彻底删除office2007
  4. CSS-Day03-CSS样式-字体
  5. 中国十大调查研究咨询公司排名数据情况
  6. Kotlin开发第四天,探究Fragment
  7. 政府频频施压,58同城依旧我行我素,虚假信息顽疾无解?
  8. 最近一段时间的面试总结
  9. 用Appium进行iOS自动化测试
  10. 沙特卫生部与Masimo宣布,采用Masimo技术来实现全国新生儿CCHD筛查流程的自动化