學號:2017*****7231
姓名:李根
第一段:讀取檔案
def process_file(dst): # 讀檔案到緩衝區
try: # 開啟檔案
f = open(dst, 'r')
except ioerror as s:
print (s)
return none
try: # 讀檔案到緩衝區
bvffer = f.read()
except:
print ("read file error!")
return none
f.close()
return bvffer
第二段:統計每個單詞的頻率,存放在字典word_freq
def process_buffer(bvffer):
if bvffer:
word_freq = {}
for ch in '「『!;,.?」':
# 下面新增處理緩衝區 bvffer**,統計每個單詞的頻率,存放在字典word_freq
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
第三段:輸出 前十 10 的單詞
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("詞:%-5s 頻:%-4d " % (item[0], item[1]))
第四段:主函式
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,等操作更加熟悉
第三次課後作業
1 基本資訊 學號 2017 7078 姓名 楊海亮 碼雲 2 程式分析 1.process file函式,讀檔案到緩衝區 2.process buffer函式,處理緩衝區 bvffer的檔案,統計每個單詞的頻率,存放在字典word freq 3.output result函式,用輸出函式將處理好的...
第三次課後作業
學號 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 excep...
第三次課後作業
1 學號 2017035107059 姓名 尤成 2 開啟檔案讀取檔案到緩衝區 處理緩衝區 輸出單詞 輸出函式 3 次數最多 時間最長的 改進後提高了0.309 4 執行結果截圖 4 感覺這次任務我有太多的不足,大多數的部分都不會,非常慚愧,以後我會好好學習軟體工程以及python語言這兩門,大一學...