python二级第六套答案
【摘要】 python二级第六套答案 46、考生文件夹下的文件data.txt是一个来源于网上的技术信息资料。
问题1:(10分)在考生文件夹下给出了程序框架文件PY301-1.py,补充代码完成程序。用Python语言中文分词第三方库jieba对文件data.txt进行分词,并选择长度大于等于3个字符的关键词,写入文件out1.txt,每行一个关键词,各行的关键词不重复,输出...
python二级第六套答案
46、考生文件夹下的文件data.txt是一个来源于网上的技术信息资料。
问题1:(10分)在考生文件夹下给出了程序框架文件PY301-1.py,补充代码完成程序。用Python语言中文分词第三方库jieba对文件data.txt进行分词,并选择长度大于等于3个字符的关键词,写入文件out1.txt,每行一个关键词,各行的关键词不重复,输出顺序不做要求,例如:
人工智能
科幻小说
…
问题2:(10分)在考生文件夹下给出了程序框架文件PY301-2.py,补充代码完成程序。对文件data.txt进行分词,对长度不少于3个字符的关键词,统计出现的次数,按照出现次数由大到小的顺序输出到文件out2.txt,每行一个关键词及其出现次数,例如:
科学家:2
达特茅斯:1
…
# 请在...处使用多行代码替换
#
# 注意:其他已给出代码仅作为提示,可以修改
import jieba
f = open('data.txt','r')
lines=f.readlines()
f.close()
D=[]
for line in lines: wordList=jieba.lcut(line)#用结巴分词,对每行内容进行分词 for word in wordList: if len(word)<3: #判断词长度,要大于等于3个长度 continue else: if word not in D: D.append(word)
f=open('out1.txt','w')
f.writelines('\n'.join(D)) f.close()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
# 请在...处使用多行代码替换
#
# 注意:其他已给出代码仅作为提示,可以修改
import jieba
f=open("data.txt","r")
lines=f.readlines()
f.close()
d = {}
for line in lines: wordList=jieba.lcut(line) #用结巴分词,对每行内容进行分词 for word in wordList: if len(word)<3: continue else: d[word]=d.get(word,0)+1
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)#按照词频由高到低排序 f=open('out2.txt','w')
for i in range(len(ls)): f.write('{}:{}\n'.format(ls[i][0],ls[i][1]))
f.close()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
文章来源: blog.csdn.net,作者:yk 坤帝,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_45803923/article/details/115324685
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)