文章目录

  • 背景
  • 问题一及其解答
    • 问题
    • 解答
      • 总程序框图
        • 子程序1
        • 子程序2
        • 子程序3
      • 数据流图
      • 程序代码
  • 问题二及其解答
    • 问题
    • 解答
      • 总程序框图
        • 子程序1
        • 子程序2
        • 子程序3
      • 数据流图
      • 程序代码
  • 知识点总结

背景

《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,文件名为“命运-网络版.txt”和“寻梦-网络版.txt”。

问题一及其解答

问题

请编写程序,对这两个文本中出现的字符进行统计,字符与出现次数之间用冒号:分隔,将两个文件前 100 个最常用字符分别输出保存到“命运-字符统计.txt”和“寻梦-字符统计.txt”文件中,该文件要求采用 CSV 格式存储,参考格式如下(注意,不统计回车字符):‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

命:90, 运:80, 寻:70, 梦:60‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬(略)

解答

总程序框图

Created with Raphaël 2.2.0 开始 子程序1:统计文件中字符个数 子程序2:对字符个数进行排序 子程序3:将排序后的字符保存在文件中 结束
子程序1
Created with Raphaël 2.2.0 开始子程序1 以只读方式打开文件, 并保存为行文本列表lines 初始化字典stat 循环遍历行文本列表lines 的元素——字符串line, 是否到达行文本lines末尾 进入子程序2 循环遍历字符串line的 元素——字符elm,是否 达到字符串line的末尾 移动到行文本列表lines的 下一个字符串元素line elm是否为字典的键 将字典中键elm的值加1 移动到字符串line的下一个键elm 将字典中键elm的值设置为0 yes no yes no yes no
子程序2
Created with Raphaël 2.2.0 开始子程序2 删除字典键stat为“\n”的键值对 利用list函数将字典stat转化成列表ls0 利用list方法对列表ls0进行排序 循环遍历列表ls0 的元素——元组(k,v), 是否达到 列表ls0的末尾 进入子程序3 格式化字符串k:v 将字符串k:v添加到列表ls中 移动到列表ls0的下一个元组(k,v) yes no
子程序3
Created with Raphaël 2.2.0 开始子程序3 以只写方式打开文件 在列表ls的元素间加入逗号 并将列表ls写入文件 结束总程序

数据流图

文本 txt
读入文本 txt
行文本列表 lines
将列表 lines转化
成字符串 line
字符串 line
字符串 line
将字符串 line转化
成字符 elm
字符 elm
对字符 elm进行统计
并保存为字典 stat
字典 stat
字典 stat
利用 list函数将字典
stat转化成列表 ls0
列表 ls0
对列表 ls0进行格式化
格式化后的列表 ls0
格式化后的列表 ls0
在列表 ls0元素间
插入逗号
改变格式后
的列表 ls0
将列表 ls0保存到
文本 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 in stat:
##            stat[elm] +=1
##        else:
##            stat[elm] = 0stat[elm] = stat.get(elm,0)+1del stat['\n']
ls0 = list(stat.items())
ls0.sort(key = lambda x:x[1], reverse = True)ls = []
##for i in range(100):
##    k,v = ls0[i]
##    ls.append("{}:{}".format(k,v))for (k,v) in ls0:
##    k,v = ls0[i]ls.append("{}:{}".format(k,v))with open("寻梦-字符统计.txt",'w',encoding='UTF-8') as fo:fo.writelines(",".join(ls[0:100]))print(",".join(ls[0:10]))

问题二及其解答

问题

请编写程序,对“命运-字符统计.txt”和“寻梦-字符统计.txt”中出现的相同字符打印输出。“相同字符.txt”文件中,字符间使用逗号分隔。

解答

总程序框图

Created with Raphaël 2.2.0 开始 子程序1: 读取文本“命运-字符统计.txt” 和“寻梦-字符统计.txt”, 并保存为行列表ls和ls1 子程序2: 利用函数GetWordList() 提取列表ls和ls1中 的字符,并保存在ls2和ls3中。 子程序3: 查找ls2和ls3列表中的相同字符, 并将相同字符存储在ls4中。 结束
子程序1
Created with Raphaël 2.2.0 开始子程序1 以只读方式打开文件 “命运-字符统计.txt”和“命运-字符统计.txt”, 并保存为行文本列表ls和ls1 进入子程序2
子程序2
Created with Raphaël 2.2.0 开始子程序2 输入列表InputList,截取长度length 初始化列表WordList 循环变量i是否小于 截取长度length 将标记flag设置为True 循环变量j是否小于列表 InputList[i]长度 InputList[i][j]的元素 ——字符是否为“:” 将标记flag设置为False 标记flag是否为True 将WordList的元素 ——字符增加到列表中 移动到输入字符串InputList[i] 的下一个元素 移动到输入列表InputList 的下一个元素 输出包含字符的列表WordList 进入子程序3 yes no yes no yes no yes no
子程序3
Created with Raphaël 2.2.0 开始子程序3 循环遍历列表 ls2的元素 ——字符char, 是否达到列表 ls2的末尾 结束 将char增加到列表ls4中 移动到列表ls3的下一个元素 yes no

数据流图

文本 txt
读入文本 txt,
并以逗号进行分割
列表 ls,ls1
利用函数
GetWordList
将输入列表
InputList
转化成 WordList
列表 WordList
列表 WordList
收集相同字符
并保存在列表 ls4
列表 ls4
将列表 ls4保存到
文本 txt
文本 txt

程序代码

with open("命运-字符统计.txt","r",encoding="UTF-8") as fi:ls = fi.readline().split(",")
with open("寻梦-字符统计.txt","r",encoding="UTF-8") as fi1:ls1 = fi1.readline().split(",")def GetWordList(InputList,length):WordList = []for i in range(length):flag = Truefor j in range(len(InputList[i])):if InputList[i][j]==':':flag = Falseif flag == True:WordList.append(InputList[i][j])return WordListls2 = GetWordList(ls,100)
ls3 = GetWordList(ls1,100)ls4 = []
for char in ls2:if char in ls3:ls4.append(char)with open("相同字符.txt","w",encoding="UTF-8") as fo:fo.writelines(",".join(ls4))

知识点总结

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

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

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

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

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

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

    目录 文章目录 目录 背景 问题一及解答 问题 解答 程序框图 数据流图 程序代码 问题二及解答 问题 解答 程序框图 数据流图 程序代码 知识点总结 背景 <天龙八部>是著名作家金庸的代 ...

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

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

  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. VEND MASTER DATA
  2. youtube匹配channel(频道)
  3. t-SNE(t-distributed stochastic neighbor embedding)
  4. css预处理器sass使用教程(多图预警)
  5. Copy-On-Write COW机制
  6. vue项目的骨架及常用组件介绍
  7. ubuntu下安装RabbitVCS(失败记录)
  8. 小帅小胖智能机器人如何使用_小帅智能教育机器人使用技巧篇(下篇)
  9. Win10 查看开/关机历史记录、 删除管理员账户密码
  10. 爬取链家网上海二手房数据,并进行分析建模
  11. linux 终端使用aplay播放wav
  12. recv函数返回值总结
  13. 隐私何在?区块链是隐私保护的安全阀门
  14. 【NEW02】Servlet 基础
  15. INCA_ProF脚本教程
  16. 如何下载安装Devc++
  17. 用计算机进行图片处理课后反思,使用曲线工具画图教学反思
  18. CV实战项目--人脸考勤
  19. heidisql修改mysql密码_获取HeidiSQL保存的密码
  20. 【人人开源】集成通过Token认证统一登录功能

热门文章

  1. Deep contextualized word representations
  2. C语言中的signed和unsigned的使用以及整型提升一探究竟
  3. 路由导航守卫和路由拦截
  4. ntoskrnl.lib(loadcfg.obj) : error LNK2001: 无法解析的外部符号 ___security_cookie 解决方法
  5. Java读取Excel文件汇总
  6. 简述java中流的概念和划分_浅谈Java中流的概念与用途
  7. python判断合法整数数字_51Nod 1315 合法整数集
  8. 数据仓库系列2-数据仓库建模介绍
  9. 单工、半双工和全双工
  10. TI原版方案 | 研旭YXDSP-XDS560V2PLUS仿真器 支持网口远程调试