第三次作業

2022-09-12 07:54:15 字數 1945 閱讀 7128

學號:2017*****7124

姓名:秦夢緣

將檔案讀入緩衝區(dst指文字檔案存放路徑,設定成形參,也可以不設,具體到函式裡設定)

def process_file(dst):     # 讀檔案到緩衝區

try:     # 開啟檔案

file = open(dst,'r')

except ioerror as s:

print (s)

return none

try:     # 讀檔案到緩衝區

bvffer=file.read()

except:

print ("read file error!")

return none

file.close

return bvffer

設定緩衝區,將文字度數緩衝區,並對文字的特殊符號進行修改,使其更容易處理,並讀入字典。

def process_buffer(bvffer):

if bvffer:

word_freq = {}

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

bvffer=bvffer.lower()

for x in '##{}}{{':

bvffer=bvffer.replace(x, " ")

words=bvffer.strip().split()

for word in words:

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

return word_freq

設定輸出函式,運用lambda函式對詞頻排序,並以「詞」——「頻」格式輸出

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)

將主函式部分改為效能分析**

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)

最多:l = open(dst,'r')

except ioerror as s:

print (s)

return none

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

執行結果

總結:通過此次作業我深刻的認識到了學習能力的不足.

第三次作業

2 12有600 mb 兆位元組 的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車這 些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kb s,其結果又如何?解 當傳送速率為2.4k...

第三次作業

1 有600mb 兆位元組 的資料,需要從南京傳送到北京 一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料,試比較這兩種方法的優劣。若資訊傳送的速率為33.6kb s,其結果又如何?解 假定連續傳送且不出錯。若...

第三次作業

p67 2 12 有600mb的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率是2.4kbps 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kbps,其結果又如何?解 1 t 600 1024...