软工作业(3)--词频统计

一、程序分析

编译环境:python3.7、pycharm2018

1.读文件到缓冲区

 2.处理缓冲区 bvffer的文件,统计每个单词的频率,存放在字典word_freq

 3、按照单词的频数排序,输出次数排名前十的单词(output_result(word_freq))

 4.主函数输出文章中单词前十的结果

 5、cProfile对代码性能进行测试

二、代码风格分析

python代码在每行末尾不用加“;”

例如:

三、程序运行结果截图 

1.对Gone_with_the_wind.txt进行词频统计

 2.对A_Tale_of_Two_Cities.txt进行词频统计

 

 

四、性能分析结果及改进

1.可视化操作:

 2.执行次数最多代码:

3.执行时间最长代码:

 

由图知,执行次数最多且执行时间最多的代码是:

for word in words:

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

程序改进:

将原来的代码:

1    for i in '!"#$%&()*+-,-./:;<=>?@“”[\\]^_{|}~':
2        bvffer = bvffer.replace(i, " ")  # 替换特殊字符
3    bvffer = bvffer.lower()  # 把大写字母转换为小写
4    words = bvffer.strip().split() # 分割字符串
变为:
words = bvffer.lower().strip().split()

猜你喜欢

转载自www.cnblogs.com/ruio/p/9763859.html
今日推荐