第三次課後作業

2022-09-11 01:24:16 字數 1824 閱讀 2514

學號:2017********7047

姓名:車功明

from string import punctuation

def process_file(dst):

try:

f = open(dst)

except ioerror as s:

print (s)

return none

try:

bvffer = f.read()

except:

print ("read file error!")

return none

f.close()

return bvffer

開啟、讀取文件並將文件儲存到buffer裡面,執行完畢後關閉文件

def process_buffer(bvffer):

if bvffer:

word_freq = {}

for item in bvffer.strip().split():

word = item.strip(punctuation+' ')

if word in word_fred:

word_freq[word] += 1

else:

word_freq[word] = 1

return word_freq

將buffer內的資料進行切片,去掉符號空格,用for迴圈進行統計,將統計資料儲存在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]:

print (item)

將統計好的資料進行排序並輸出前十個資料

if __name__ == "__main__":

import argparse

parser = argparse.argumentparser()

parser.add_argument('dst')

args = parser.parse_args()

dst = args.dst

bvffer = process_file(dst)

word_freq = process_buffer(bvffer)

output_result(word_freq)

程式執行命令

程式執行結果

改進前總時長

找到的執行時間最長,執行次數最多的**

改進後:

總時長:

找到的執行時間最長,執行次數最多的**:

總結與反思:通過這次作業,我學會了用git上傳檔案分支,也學會了用python找到重複的單詞,收穫頗豐

第三次課後作業

1 基本資訊 學號 2017 7078 姓名 楊海亮 碼雲 2 程式分析 1.process file函式,讀檔案到緩衝區 2.process buffer函式,處理緩衝區 bvffer的檔案,統計每個單詞的頻率,存放在字典word freq 3.output result函式,用輸出函式將處理好的...

第三次課後作業

學號 2017 7231 姓名 李根 第一段 讀取檔案 def process file dst 讀檔案到緩衝區 try 開啟檔案 f open dst,r except ioerror as s print s return none try 讀檔案到緩衝區 bvffer f.read excep...

第三次課後作業

1 學號 2017035107059 姓名 尤成 2 開啟檔案讀取檔案到緩衝區 處理緩衝區 輸出單詞 輸出函式 3 次數最多 時間最長的 改進後提高了0.309 4 執行結果截圖 4 感覺這次任務我有太多的不足,大多數的部分都不會,非常慚愧,以後我會好好學習軟體工程以及python語言這兩門,大一學...