20180918-1 词频统计
此作业要求参见:【https://edu.cnblogs.com/campus/nenu/2018fall/homework/2126】
词频统计程序
一.词频统计程序开发想法:
1.创建用于存放单词和数目的函数。
2.从文件中进行读取。
3.对读出的单词进行处理。
5.对字母的个数进行记录。
代码地址:https://git.coding.net/sunsss/work.git
二.程序主要部分:
1.文件的读取
2.对字母的数目计量,运用了逐行读取,类的测试,用if语句处理列表,循环语句
3.结果的输出
代码如下:
import re class WF(): def __init__(self): self.file_name = input('please input the name of book:') self.mappings = {} self.get_words() self.console_print() self.__init__() def get_words(self): file_tail = '' if '.txt' in self.file_name else '.txt' with open (self.file_name + file_tail, 'r', encoding = 'utf-8') as f: for line in f: for i in re.sub(r'[^\w\s]','', line).replace('\n','').split(' '): if i not in self.mappings: self.mappings[i] = 1 else: self.mappings[i] += 1 def console_print(self): for k, w in self.mappings.items(): print(k, w) print('\ntotal: %swords' % len(self.mappings)) WF()
功能一:
功能二:
我只能完成功能1和功能2
难点:对于单词的记数,重复的单词数记录时,不在总数的记录上并不增加。
盲点:由于没有多少写代码的经验,导致对函数的运用很是生疏,在进行多次的阅读和例子的学习之后后才知道如何正确的使用。
突破:类的测试一直只是停留在书本上,但是自己这次进行了一点使用。
总结:我上面所写的代码只能实现功能一和功能二,会努力完成剩余的其他功能。
三.PSP表格:
任务TASK |
预计花费时间(min) |
实际花费时间(min) |
相差时间(min) |
功能1 |
20 |
33 |
13 |
功能2 |
90 |
195 |
105 |
测试功能1 |
5 |
2 |
3 |
测试功能2 |
8 |
10 |
2 |
原因:
- 没有太多编程的经验,编程时间会延长在意料之内。
- Pathon的知识运用不熟,函数和类的运用不能很好的与题目结合起来。
- 读懂题目要求花了较多时间。