軟工作業 詞頻統計

2022-08-20 17:12:09 字數 2785 閱讀 8962

(1)讀檔案到緩衝區 process_file(dst)

def process_file(dst):

try:

f = open(dst, "r"

) #開啟檔案

except ioerror

ass:

print(s)

return

none

try:

bvffer =f.read() #讀檔案到緩衝區

except:

print(

'read file error!')

return

none

f.close()

return bvffer

2)統計緩衝區的裡每個單詞的頻率,放入 

process_buffer(bvffer)

def

process_buffer(bvffer):

ifbvffer:

word_freq ={}

#下面新增處理緩衝區 bvffer**,統計每個單詞的頻率,存放在字典word_freq

for ch in

'「『!;,.?」

': #

把換行都換為空

bvffer = bvffer.lower().replace(ch, "")

words =bvffer.strip().split()

for word in

words:

word_freq[word] = word_freq.get(word, 0) + 1 #

給單詞計數

return word_freq

(3)輸出詞頻前十的單詞 output_result(word_freq)

def output_result(word_freq):

if word_freq:

sorted_word_freq = sorted(word_freq.items(), key=lambda v: v[1],reverse=true)

for item in sorted_word_freq[:10]: # 輸出 top 10 的單詞

print(item)

(4)主函式對之前的函式進行整合

if

__name__ == "

__main__":

path = "

e:\gone_with_the_wind.txt

"bvffer =process_file(path)

word_freq =process_buffer(bvffer)

output_result(word_freq)

二、**風格說明python**在每行末尾不用加「;」

例如:

path =  "

(2)執行次數最多的**

(3)嘗試改進程式**

for ch in

'「『!;,.?」':

bvffer = bvffer.replace(ch, "

")

改為

bvffer =bvffer.lower()

for ch in

'「『!;,.?」':

bvffer = bvffer.replace(ch, "

")

視覺化操作根據執行次數排序方式分析命令

根據占用時間排序方式分析命令

軟工作業3 詞頻統計

pycharm2018 python3.7 def process file dst 讀檔案到緩衝區 try 開啟檔案 f open dst,r encoding gb2312 dst為文字的目錄路徑 except ioerror as s print s return none try 讀檔案到緩...

詞頻統計作業 第一次軟工作業

只是一些簡單感想。之前沒有學過c 和c 老師上來就這麼自主地布置了乙個這樣的作業確實有點出乎意料。之前團隊作業要求採訪學長,學長的印象是每週要花10h以上在軟工,均1000行 這回寫第一次作業,讓沒有基礎的我體會到了學長的話。這個作業花了大約15h的時間。其中除錯占用了12h。查閱了很多資料,還是覺...

詞頻統計實現方法大致思路(軟工個人作業一)

基本功能 1.統計檔案的字元數 2.統計檔案的單詞總數 3.統計檔案的總行數 4.統計檔案中各單詞的出現次數 5.對給定資料夾及其遞迴子資料夾下的所有檔案進行統計 6.統計兩個單詞 片語 在一起的頻率,輸出頻率最高的前10個。7.在linux系統下,進行效能分析,過程寫到blog中 附加題 資料結構...