首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,文件名为“命运一网络版.txt”和“寻梦一网络版.txt”。 【手机下载文本文件】https://python123.io/ncrebe2/testd8 问题1:请
《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,文件名为“命运一网络版.txt”和“寻梦一网络版.txt”。 【手机下载文本文件】https://python123.io/ncrebe2/testd8 问题1:请
admin
2019-08-30
67
问题
《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,文件名为“命运一网络版.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全国计算机二级
相关试题推荐
以下程序(请注意循环体内的LOOP和EXIT语句)的运行结果是()。CLEARX=5DOWHILE.T.X=X+5IFX=INT(X/5)木5??XELSEL
在下面的表达式中,运算结果为逻辑真的是()。
(1)打开“订货管理”数据库,并将表orderlist添加到该数据库中。(2)在“订货管理”数据库中建立表orderdetail,表结构描述如下:订单号字符型(6)器件号字符型(6)器件名字符型(
在考生文件夹下,打开学生数据库sdb,完成如下简单应用:(1)使用报表向导建立一个简单报表。要求选择student表中所有字段;记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“学号”(升序);报表标题为“学生基
(1)用SQL语句进行以下查询:查询“外汇账户”表中的日元信息。查询结果包括钞汇标志、金额,结果按金额降序排序,并存储于表two.dbf中,并将SQL语句存储于新建的three.txt文件中。(2)用一对多报表向导建立报表,“外汇代码”表为父表,“外汇账
查询设计器中包括的选项卡有()。
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
某二叉树共有845个结点,其中叶子结点有45个,则度为1的结点数为()。
下列关于二叉树的叙述中,正确的是()。
随机试题
二度Ⅱ型房室传导阻滞的心电图是指
根据《行政复议法》第6条规定,公民、法人或者其他组织认为行政机关作出的具体行政行为属于下列情形之一的,可申请行政复议的有()。
一个完整的、可以作为资源配置手段的市场是由()等因素构成的。
银行资产保全是银行对已出现风险或即将出现风险的资产,运用或借助经济、法律、行政等手段,实施保护性措施或前瞻性防护措施,以()
甲公司为增值税一般纳税人,适用的增值税税率为16%,2018至2019年发生的与固定资产有关的业务如下:(1)2018年5月1日,甲公司接受A公司以现金进行投资。甲公司当日取得投资款500万元,已存入银行。根据投资协议,A公司占实收资本450万元。(2
中国公民孙某2012年的收入情况如下:(1)出版长篇小说一部,从出版社取得稿酬50000元:因该小说再版,从出版社又取得稿酬3000元;因该小说在某晚报连载3个月,从报社分别取得稿酬1000元、1200元和1600元。(2)受托对一
原定2000年国民生产总值比1980年翻两番的任务已提前完成。()
焦点小组(浙江师大2012年研)
有如下程序:#includeusingnamespacestd;classMonkey{public:Monkey(){cout
Oneofthegreatmysteryofmodernbiologyishow【M1】______proteins—thestringsofaminoacidsthatarethesubstance
最新回复
(
0
)