个人编程练习

Posted 有猫27

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人编程练习相关的知识,希望对你有一定的参考价值。

一、程序分析

  1、读取文件到缓冲区

 

 1 def process_file(dst):     # 读文件到缓冲区
 2     try:     # 打开文件
 3         f=open(dst,\'r\')
 4     except IOError as s:
 5         print (s)
 6         return None
 7     try:     # 读文件到缓冲区
 8         x=f.read()
 9     except:
10         print ("Read File Error!")
11         return None
12     bvffer=x
13     return bvffer

 

2、缓冲区字符串分割成带有词频的字典

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

1  def process_buffer(bvffer):
2     if bvffer:
3         word_freq = {}                     #新建一个空字典word_freq 
4         # 下面添加处理缓冲区 bvffer代码,统计每个单词的频率,存放在字典word_freq
5         for word in bvffer.split():      #.split()函数将bvffer切片
6             if word not in word_freq:
7                 word_freq[word]=0
8             word_freq[word]+=1
9         return word_freq

 

3、将字典按词频排序并输出排名前十的键值对

1 def output_result(word_freq):    #输出函数
2     if word_freq:
3         sorted_word_freq = sorted(word_freq.items(), key=lambda v: v[1], reverse=True)
4         for item in sorted_word_freq[:10]:  # 输出 Top 10 的单词
5             print(item)

 

4、主程序输出前十结果和分析结果

1 if __name__ == "__main__":
2     import argparse
3     parser = argparse.ArgumentParser()
4     parser.add_argument(\'dst\')
5     args = parser.parse_args()
6     dst = args.dst
7     bvffer = process_file(dst)
8     word_freq = process_buffer(bvffer)
9     output_result(word_freq)

 

 

二、代码风格说明

1.使用 4 个空格的缩进

2.使用空行分隔函数和类,以及函数内的大块代码

3.运算符周围和逗号后面使用空格,但是括号里侧不加空格

4.折行以确保其不会超过 79 个字符

 

三、程序运行结果截图

 

四、性能分析及改进

 

1、性能分析

  1.1、模块耗用时间可视化操作

 转换图如下:

 

以上是关于个人编程练习的主要内容,如果未能解决你的问题,请参考以下文章

关于结对编程的体会和感悟

Java编程思想第四版 *第五章 个人练习

11章 编程练习题 11.8

json 个人的vscode的代码片段

20172326『Java程序设计』课程结对编程练习_四则运算第二周阶段总结

本周个人总结