首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,文件名为“命运一网络版.txt”和“寻梦一网络版.txt”。 【手机下载文本文件】https://python123.io/ncrebe2/testd8 问题1:请
《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,文件名为“命运一网络版.txt”和“寻梦一网络版.txt”。 【手机下载文本文件】https://python123.io/ncrebe2/testd8 问题1:请
admin
2019-08-30
59
问题
《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,文件名为“命运一网络版.txt”和“寻梦一网络版.txt”。
【手机下载文本文件】https://python123.io/ncrebe2/testd8
问题1:请编写程序,对这两个文本中出现的字符进行统计,字符与出现次数之间用冒号:分隔,将两个文件前100个最常用字符分别输出保存到“命运一字符统计.txt”和“寻梦一字符统计.txt”文件中,该文件要求采用CSV格式存储,参考格式如下(注意,不统计回车字符):
命:90,运:80,寻:70,梦:60
(略)
问题2:请编写程序,对“命运一字符统计.txt”和“寻梦一字符统计.txt”中出现的相同字符打印输出。“相同字符.txt”文件中,字符间使用逗号分隔。
命,运,寻,梦
(略)
选项
答案
问题1答案如下: names=[’’命运’’,’’寻梦’’] for name in names: fi=open(name+’’一网络版.txt’’,’’r’’,encoding=’’uff-8’’) fo=open(name+’’一字符统计.txt’’,’’w’’,encoding=’’uff-8’’) txt=fi.read() d={} for c in txt: d[c]=d.get(c,0)+1 del d[’\n’] ls=list(d.items()) ls.sort(key=lambda x:x[1],reverge=True) for i in range(100): ls[i]=’’{}:{}’’.format(ls[i][0],ls[i][1]) fo.write(’’,’’.join(ls[:100])) fi.close() fo.close() 问题2答案如下: def getList(name): f=open(name+’’一字符统计.txt’’,’’r’’,encoding=’’uff-8’’) words=f.read().split(’,’) for i in range(len(words)): words[i]=words[i].split(’:’)[0] f.close() return words def main(): fo=open(’’相同字符.txt’’,’’w’’) ls1=getList(’’命运’’) ls2=getList(’’寻梦’’) ls3=[] for c in ls1: if c in ls2: ls3.append(c) fo.write(’’,’’.join(ls3)) fo.close() main()
解析
这是一个综合应用题,考核文本处理能力。
问题1:程序的流程是分别从“命运一网络版.txt”和“寻梦一网络版.txt”两个文档中读入字符,统计各自所出现的次数、排序,并输出到文档。鉴于相似功能已经在其他模拟试卷中做过解析。这里不再赘述。参考代码及注释如下:
names=[’’命运’’,’’寻梦’’]
for name in names: #遍历names列表,对两个文本进行处理
fi=open(name+’’一网络版.txt’’,’’r’’,encoding=’’utf一8’’)
fo=open(name+’’一字符统计.txt’’,’’w’’,encoding=’’utf一8’’)
txt=fi.read()
d={}
for c in txt: #统计字符出现的次数
d[c]=d.get(c,0)+1
del d[’\n’]
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse=True) #排序
for i in range(100): #整理写入文档
ls
=’’{}:{}’’.format(Is
[0],ls
[1])
fo.write(’’,’’.join(ls[:100]))
fi.close()
fo.close()
问题2:判断两个文档中的相同字符,基本方法是逐一从文档中读入字符,判断该字符
是否在另外一个文档中,如果存在,则统计输出。参考代码及注释如下:
def getList(name):
f=open(name+’’一字符统计.txt’’,’’r’’,encoding=’’utf-8’’)
words=f.read().split(’,’)
for i in range(len(words)):
words
=words
.split(’:’)[0]
f.close()
return words
def main():
fo=open(’’相同字符.txt’’,’’w’’)
ls1=getList(’’命运’’)
ls2=getList(’’寻梦’’)
ls3=[]
for c in ls1: #获得一篇文章的字符
if c in ls2:#判断该字符是否在另外文章中
ls3.append(c) #如果存在,则放入公共字符列表
fo.write(’’,’’.join(ls3))
fo.close()
main()
转载请注明原文地址:https://kaotiyun.com/show/yP6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
若将过程放在过程文件中,可在应用程序中使用下列哪条命令打开过程文件()。
在考生文件夹下,有一表单文件myform.SCX。打开该表单文件,然后在表单设计器环境下完成如下操作:(1)在属性窗口中将表单设置为不可移动的,并将其标题设置为“表单操作”。(2)为表单新建一个名为mymethod的方法,方法代码为:w
在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序enu.mpr。运行该菜单程序时会在当前VFP系统菜单的末尾追加一个“考试”子菜单,如图3.13所示。菜单命令“统计”和“返回”的功能都通过执行过程完成。菜单命令“统计”的功能是统计2
对考生文件夹下的数据库“图书借阅”中的表完成如下操作:①为表loans增加一个字段“姓名”,字段类型为“字符型”,宽度为8。编写程序modipro.prg实现以下功能:②根据borrows表的内容填写表loans中“姓名”的字段值。③查询表loan
设计一个文件名和表单名均为myaccount的表单。表单的标题为“外汇持有情况”。表单中有一个选项按钮组控件(myOption)、一个表格控件(Gridl)以及两个命令按钮“查询”(Command1)和“退出”(Command2)。其中,选项按钮组控件有两
(1)打开表单one,如图3.18所示,通过设置控件的相关属性,使得表单运行时的开始焦点在“打开”命令按钮,并且接下来的焦点的移动顺序是“关闭”和“退出”。(2)打开表单two,使用“布局”工具栏的“顶边对齐”按钮将表单中的3个命令按钮控件的顶边对齐。
下表是用list命令显示的“运动员”表的内容和结构,下列题使用该表。检索“投中3分球”小于等于5个的运动员中“得分”最高的运动员的“得分”,正确的SQL语句是()。
假设变量a的内容是“计算机软件工程师”,变量b的内容是“数据库管理员”,表达式的结果为“数据库工程师”的是
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
设a="计算机等级考试",结果为"考试"的表达式是()。
随机试题
左图为等大的3个灰色正方体和15个白色正方体组合成的多面体,其可以切割为①、②和③三个小多面体,则③代表的多面体可能是:
差动接收机串接于两个力矩式发送机之间,接收其电信号,并使自身转子转角为两发送机转角的()。
为了测量故障的分布,以便更好地了解和消除这些原因的试验方式是()
平胃散的适应证是八正散的适应证是
下述关于所有权的理解,错误的有:()
所谓(),是指特定立体控制的、不具有独立实体、对生产经营持续发挥作用并带来经济利益的一切经济资源。
在破产程序中,债务人与债权人会议达成的和解协议发生效力后,应受和解协议约束的债权人是()。
甲、乙、丙三队进行足球循环赛。已知有下列情况:根据上表情况,可以得出甲队对丙队的进球数之比是()。
如果一台CiscoPIX525防火墙有如下配置:pix525(con6g)}#nameifethemet0p1security100pix525(config)#nameifethernet1p2security0pix525
Whatisthenewsitemmainlyabout?
最新回复
(
0
)