第三次作业

一、编译环境说明

  (1)python3.7

二、程序分析,对程序中的四个函数做简要说明

(1)读文件到缓冲区(process_file(dst))

def process_file(dst):     # 读文件到缓冲区
  
    try:
        f=open('C:\A_Tale_of_Two_Cities.txt','r')     # 打开文件,dst为文件目录
   
    except IOError as s:
        print (s)
        return None
   
    try:
        bvffer=f.read()   # 读文件到缓冲区
   
    except:
        print("Read File Error!")
        return None
        f.close()      #关闭文件防止占用操作系统资源
    return bvffer

 

(2)处理缓冲区,返回存放每个单词频率的字典word_freq(process_buffer(bvffer))

def process_buffer(bvffer):
    if bvffer:
        word_freq = {}
        # 下面添加处理缓冲区 bvffer代码,统计每个单词的频率,存放在字典word_freq
        bvffer = bvffer.lower()
        for ch in '“‘!;,.?”':
            bvffer = bvffer.lower().replace(ch, " ")  #将所有字母转换成小写,便于统计
        words = bvffer.strip().split()         #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)

三、程序运行命令、运行结果截图

 

 

 

posted @ 2018-10-10 13:58  软嵌162-霍星  阅读(118)  评论(1编辑  收藏  举报