首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。该作品气势磅礴,人物众多。这里给出一个《天龙八部》的网络版本,文件名为“天龙八部一网络版.txt”。 问题1:请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒
《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。该作品气势磅礴,人物众多。这里给出一个《天龙八部》的网络版本,文件名为“天龙八部一网络版.txt”。 问题1:请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒
admin
2019-08-30
70
问题
《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。该作品气势磅礴,人物众多。这里给出一个《天龙八部》的网络版本,文件名为“天龙八部一网络版.txt”。
问题1:请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒号:分隔,输出保存到“天龙八部一汉字统计.txt”文件中,该文件要求采用CSV格式存储,参考格式如下(注意,不统计空格和回车字符);
天:100,龙:110,八:109,部:10
(略)
问题2:请编写程序,对《天龙八部》文本中出现的中文词语进行统计,采用jieba库分词,词语与出现次数之间用冒号:分隔,输出保存到“天龙八部一词语统计.txt”文件中。参考格式如下(注意,不统计任何标点符号):
天龙:100,八部:10
(略)
选项
答案
问题1答案如下: fi=open(’’天龙八部一网络版.txt’’,’’r’’,encoding=’uff-8’) fo=open(’’天龙八部一汉字统计.txt’’,’’w’’,encoding=’uff-8’) txt=fi.read() d={} for c in txt: d[c]=d.get(c,0)+1 del d[’’] del d[’\n’] ls=[] for key in d: ls.append(’’{}:{}’’.format(key,d[key])) fo.write(’’,’’.join(ls)) fi.close() fo close() 问题2答案如下: import jieba fi=open(’’天龙八部一网络版.txt’’,’’r’’,encoding=’uff-8’) fo=open(’’天龙八部一词语统计.txt’’,’’w’’,encoding=’utf-8’) txt=fi.read() words=jieba.lcut(txt) d={} for w in words: d[w]=d.get(w,0)+1 del d[’’] del d[’\n’] ls=[] for key in d: ls.append(’’{}:{}}’’.format(key,d[key])) fo.write(’’,’’.join(ls)) fi.close() fo.close()
解析
这是一个综合应用题,考核对文本文件中字符和单词的统计能力。
问题1:统计网络下载的“天龙八部一网络版.txt”中各字符出现次数,采用“字符:次数”方式表示,以CSV方式存储至“天龙八部一汉字统计.txt”。读写文件分别采用open()函数的’’r’’和’’w’’模式。
在读入文件时,可以增加参数encoding=’’uff-8’’,指定程序采用utf-8编码打开文件。文件编码过于复杂,在等级考试中并未涉及,这里,建议对编码的理解使用如下两条规则:第一,如果一个文本文件从网络获得,增加encoding参数,指定编码方式打开;第二,如果Python程序生成了一个文件,并再次打开,则不需要指定encoding参数。
打开文件后,可以一次性读人文件内容至变量txt中,采用遍历循环逐一遍历txt中每个字符,并利用字典将每个字符的出现次数计入“字符:次数”键值对表示中,采用代码如下:
d={}
for c in txt:
d[c]=d.get(c,0)+1
所有字符统计后,去掉空格(’’)和回车(’\n’)对应统计次数,采用del删除字典d中对应项。再遍历字典d,将其写入列表ls,列表每项为“字符:次数”样式字符串。最后,使用字符串.join()方法,将列表ls中所有项以逗号分隔形式整合并写入输出文件。
综上,问题1的全部代码含注释如下:
fi=open(’’天龙八部一网络版.txt’’,’’r’’,encoding=’utf一8’)
fo=open(’’天龙八部一汉字统计.txt’’,’’w’’,encoding=’uff一8’)
txt=fi.read()
d={}
for c in txt: #遍历循环,统计各出现字符及次数
d[c]=d.get(c,0)+1
del d[’’] #删除空格字符对应的出现次数
del d[’\n’] #删除回车字符对应的出现次数
ls=[]
for key in d: #遍历字典,将字典各项组织后变成列表的元素
Is.append(’’{}:{}’’.format(key,d[key]))
fo.write(’’,’’.join(ls))
fi.close()
fo.close()
问题2与问题1类似,只不过统计单元由字符变为中文词语,这需要采用jieba库进行分词。整体代码与问题1类似,仅在获取文本txt后进行一次jieba.lcut()分词操作即可。
综上,问题2的全部代码含注释如下:
import jieba
fi=open(’’天龙八部一网络版.txt’’,’’r’’,encoding=’utf-8’)
fo=open(”天龙八部-词语统计.txt’’,’’w’’,encoding=’utf-8’)
txt=fi.read()
words=jieba.lcut(txt) #中文分词,words是一个列表变量
d={}
for w in words: #遍历列表各元素,即遍历中文词语
d[w]=d.get(w,0)+1
del d[’’]
del d[’\n’]
ls=[]
for key in d:
ls.append(’’{}:{}’’.format(key,d[key]))
fo write(’’,’’.join(ls))
fi.close()
fo.close()
转载请注明原文地址:https://kaotiyun.com/show/5H6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
在下面的VisualFoxPro表达式中,运算结果为逻辑真的是
如果内存变量和字段变量均有变量名“姓名”,那么引用内存变量的正确方法是
下面对视图的描述中错误的是
下列有关SQL内外层互相关嵌套查询叙述正确的是()。有如下SQL语句:SELECT订单号,签订日期,金额FROM订单,职员;WHERE订单.职员号=职员.职员号AND姓名=“李二”与如上语句功能相同的SQL语句是()。
第(36)~(40)使用如下关系:客户(客户号,名称,联系人,邮政编码,电话号码)产品(产品号,名称,规格说明,单价)订购单(订单号,客户号,订购日期)订购单名细(订单号,序号,产品号,数量)查询尚未最后确定订购单的有关信息的正确命令是()
(1)使用一对多表单向导新建一个表单sportform。要求:使用“国家”为父表并选择“国家名称”字段作为显示字段,“获奖牌情况”为子表并选择“项目名称”和“名次”字段作为显示字段,使用“国家代码”建立表之间的关系,表单样式选择“阴影式”,按钮类型选择“
(1)利用快捷菜单设计器创建一个弹出式菜单one,菜单有两个选项:“增加”和“删除”,两个选项之间用分组线分隔。(2)创建一个快速报表app_report,报表中包含了“评委表"中的所有字段。(3)建立一个数据库文件“大奖赛.dbc”,并将“歌手表”、
1.在考生文件夹下有一个名为formone.sex的表单文件,如下图所示,其中包含一个文本框、一个表格和两个命令按钮。请按下列要求完成相应的操作:(1)通过“属性”窗口将文本框Text1的Value属性值设置为当前系统日期(日期型,不含时间)。
在考生文件夹下完成下列操作:为了查询不同歌手演唱的歌曲,请设计一个表单mform.scx,其界面如下图所示:表单控件名为formone,表单的标题为“歌曲查询”。表单左侧有一个标签控件Labelone,显示内容为“输入歌手姓名”,一个文本
某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)
随机试题
请结合下述材料,论述高等教育应培养哪些类型的“高级专门人才”,并结合目前我国高等教育发展的实际,谈谈应如何培养。美国哥伦比亚大学校园内有三座著名的雕塑:《钢丝上的行走者》雕塑,寓意培养不断超越、卓尔不凡之精英人才;《沉思者》雕塑则寓意培养成就卓越
冠心病心绞痛患者至少有一冠状动脉的主支管腔显著狭窄达横切面积的
上消化道出血病人对血容量变化最敏感的观察指标是
甲、乙、丙、丁分别购买了某住宅楼(共四层)的一层至四层住宅,并各自办理了房产证。下列哪项说法是错误的?
与涉外民事诉讼相比较,涉外行政诉讼具有以下哪些特点?()
项日管理组织结构中,对部门职能与部门划分的关系描述正确的有()。
根据《水利水电建设工程验收规程》SL223--2008,竣工验收应在工程建设项目全部完成并满足一定运行条件后()内进行。
投资决策中使用的现金流量,实际上就是指各种货币资金。()
“旧时王谢堂前燕,飞入寻常百姓家。”常被用来形容过去一些昂贵的商品现在变成了大众消费品。造成这种变化的主要原因是()
ThelibraryofcongressinWashington,D.C.which【C1】______thelargestcollectionofbooksintheworld,isfightingabattle
最新回复
(
0
)