コンピュータ二級python総合応用問題(六)
7795 ワード
受験生フォルダ下のファイルdata.txtはネット上の技術情報資料に由来する.質問1:(10点)質問2:(10点)
問題1
受験生フォルダの下にプログラムフレームファイルPY 301 l.pyが与えられ、補完コードがプログラムを完了する.python言語中国語分詞サードパーティライブラリjieba対ファイルdata.txtは分詞を行い、3文字以上の長さのキーワードを選択してファイルout 1に書き込む.txt,各行1つのキーワード,各行のキーワードは重複せず,出力順序は要求しない,例えば:人工知能SF小説
問題2
受験生フォルダの下にプログラムフレームファイルPY 301 1 2が与える.py、補足コード完了プログラム.ファイルdata.txtは分詞を行い、長さが3文字以上のキーワードに対して出現回数を統計し、出現回数が大きいから小さい順にファイルout 2に出力.txt、行ごとに1つのキーワードとその出現回数、例えば:科学者:2ダトマス:1
問題1
受験生フォルダの下にプログラムフレームファイルPY 301 l.pyが与えられ、補完コードがプログラムを完了する.python言語中国語分詞サードパーティライブラリjieba対ファイルdata.txtは分詞を行い、3文字以上の長さのキーワードを選択してファイルout 1に書き込む.txt,各行1つのキーワード,各行のキーワードは重複せず,出力順序は要求しない,例えば:人工知能SF小説
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('
'.join(D))
f.close()
問題2
受験生フォルダの下にプログラムフレームファイルPY 301 1 2が与える.py、補足コード完了プログラム.ファイルdata.txtは分詞を行い、長さが3文字以上のキーワードに対して出現回数を統計し、出現回数が大きいから小さい順にファイルout 2に出力.txt、行ごとに1つのキーワードとその出現回数、例えば:科学者: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:
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('{}:{}
'.format(ls[i][0],ls[i][1]))
f.close()