博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
作业3
阅读量:5289 次
发布时间:2019-06-14

本文共 1314 字,大约阅读时间需要 4 分钟。

胡伟业

2017035107065

程序分析说明

1.读文件到缓冲区

def process_file(dst):         try:             x = open(dst,"r")    except IOError as s:        print (s)        return None    try:             bvffer = x.read()    except:        print ("Read File Error!")        return None    x.close()    return bvffer

  

2.下面添加处理缓冲区 bvffer代码,统计每个单词的频率,存放在字典word_freq

def process_buffer(bvffer):    if bvffer:        word_freq = {}        bvffer = bvffer.lower()            for ch in '“‘!;,.?”':             bvffer = bvffer.replace(ch, " ")        words = bvffer.strip().split()        for word in words:            word_freq[word] = word_freq.get(word, 0) + 1           return word_freq

 

3.输出top10的词

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)

  

性能分析结果及改进情况

执行时间最长

 

 

执行次数最多

 

程序运行命令、结果截图

 

 

总结反思

这次的作业,我在同学的帮助下完成了这次的作业,从刚开始的 啥也看不懂,到可以看懂,感觉含有成就感,但我感觉还我还有许多的不足,对python的其他使用还不是很了解,还需要学习。

转载于:https://www.cnblogs.com/kkp8/p/10615628.html

你可能感兴趣的文章
网站测试之一压力测试
查看>>
vue脚手架 && 实例
查看>>
npm全局安装和局部文件安装区别
查看>>
Java虚拟机基础
查看>>
Java反射机制demo(六)—获得并操作一个类的属性
查看>>
[译]C语言实现一个简易的Hash table(6)
查看>>
gogs搭建属于自己的git网站
查看>>
查看oracle数据库的连接数以及用户
查看>>
简单几行js实现tab选项切换效果
查看>>
关于更改滚动条样式
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
[转帖] Oracle 关闭自动收集统计信息
查看>>
TCP/IP协议
查看>>
三.野指针和free
查看>>
VIO的Bundle Adjustment推导
查看>>
POJ 1182 食物链(带权并查集)
查看>>
UVa 10766 Organising the Organisation(矩阵树定理)
查看>>
activemq5.14+zookeeper3.4.9实现高可用
查看>>
asp.net FileUpload控件文件格式的判断及文件大小限制
查看>>