1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 全国计算机等级考试二级Python语言程序设计模拟试卷D卷综合应用题

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

时间:2020-10-13 22:32:18

相关推荐

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

文章目录

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

背景

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

问题一及其解答

问题

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

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

解答

总程序框图

子程序1
子程序2
子程序3

数据流图

程序代码

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”文件中,字符间使用逗号分隔。

解答

总程序框图

子程序1
子程序2
子程序3

数据流图

程序代码

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))

知识点总结

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。