软工作业(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()

浙公网安备 33010602011771号