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()
# 请在...处使用多行代码替换
#
# 注意:其他已给出代码仅作为提示,可以修改
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()
更多推荐
已为社区贡献4条内容
所有评论(0)