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

目录

背景

《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。该作品气势磅礴,人物众多,非常经典。这里给出一个《天龙八部》的网络版本,文件名为”天龙八部-网络版.txt”。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

问题一及解答

问题

请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒号:分隔,输出保存到“天龙八部-汉字统计.txt”文件中,该文件要求采用 CSV 格式存储,参考格式如下(注意,不统计空格和回车字符):‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

天:100, 龙:110, 八:109, 部:10

(略)

解答

程序框图

Created with Raphaël 2.2.0开始以只读模式打开文本天龙八部-网络版.txt,并保存为行文本lines遍历行本文lines,是否达到文本lines末尾?结束遍历列表line元素elm,是否到达列表line末尾?移动到行文本的下一行line字符elm是否不在集合{' ', 'n','ufeff','u3000'}中?利用字典stat的get方法对字符elm进行计数;或者直接根据字典数据stat[elm]进行词频统计移动到列表line中的下一个元素elmyesnoyesnoyesno

数据流图

文本txt读取文本txt列表类型lines遍历列表lines字符串line字符串line遍历字符串lines统计字符

elm个数字典类型stat将字典转化

成列表ls列表ls列表ls将列表ls写入

文本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 not in {' ', 'n', 'ufeff','u3000'}:

###############方法一:利用字典的get方法进行词频统计###########

## stat[elm] = stat.get(elm,0) + 1

###############方法二:根据字典数据进行词频统计##############

if elm in stat:

stat[elm] += 1

else:

stat[elm] = 1

ls = []

for elm in stat:

ls.append("{}:{}".format(elm,stat[elm]))

with open("天龙八部-汉字统计.txt", "w", encoding ="UTF-8") as fo:

fo.write(",".join(ls))

问题二及解答

问题

请编写程序,对《天龙八部》文本中出现的中文词语进行统计,采用 jieba 库分词,词语与出现次数之间用冒号:分隔,输出保存到“天龙八部-词语统计.txt”文件中。参考格式如下(注意,不统计任何标点符号):‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

天龙:100, 八部:10

(略)

本题暂不支持自动评阅,print(‘ok’),即可得分

解答

程序框图

Created with Raphaël 2.2.0开始以只读模式打开文本天龙八部-网络版.txt,并保存为行文本lines导入第三方库jieba遍历行本文lines,是否达到文本末尾?结束利用第三方库jieba进行中文分词并返回分词后的列表ls遍历列表ls元素——字符elm,是否到达列表末尾?移动到行文本lines的下一行字符elm是否不在集合{' ', 'n','ufeff','u3000'}中?利用字典stat的get方法对字符elm进行计数;或者直接根据字典stat数据进行词频统计移动到列表ls中的下一个元素yesnoyesnoyesno版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/yimsdn/article/details/100902472

站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

发表于 2020-03-01 18:32

阅读 ( 286 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值