學號:2017********7047
姓名:車功明
from string import punctuationdef 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語言這兩門,大一學...