本项目基于算法综合设计课程的一个课设设计扩充而来,提供了处理文本文件的多种功能
注:每个功能都有多种算法可供选择,具体可查看 ENotePadAlgorithm 下的具体算法
- 单文件多操作处理
- 文本相似性检测
- 单词计数
- 字符串加密
- 字符串匹配
- 文本文件朗读
- 字符串语法检查
- 数据压缩
注:如果不需要使用相关功能,可以不需要安装对应的库
- pyttsx3, pywin32: 文字转语音库(文本文件朗读)
- PyQt5,pyQtWebEngine:图形库
- imageio:存取图片,图片解析操作(词云图)
- jieba:分词库(词云图)
- qtawesome:图标库
- wordcloud:词云图处理
- docx,docxcompose:python-word
- MyQR:QR处理库(url转二维码)
- requests:处理、解析请求(爬虫爬取对应图片)
Issues 部分新建一个 Issue,填写对应的标题、描述、Labels、(Assignees)
- 所有文档使用 markdown 编写,放在 documents 文件夹下,文档中引用的图片放在 image 文件夹下(相对路径)。
将项目 clone 到本地进行修改,pull 时选择 pull merge 而不是直接 commit to master。您的贡献将经过审核判断是否接受。
代码格式细节不做要求,如 if else 是否换行等。下面所说的是使用 PyCharm ctrl + alt + L 格式化代码后需要注意的
-
每一个算法都单独写成一个类,成员函数的命名不需要再包含类的名字,如
class KMP: ... def strSearch: ... def filesearch: ... ...
-
写好的类文件放到对应的文件夹下,如
KMP字符串匹配
算法我们放在了ENotePadAlgorithm/strFind
文件夹下(这里你也可以看出,如果你扩展的算法不再这些文件夹的范围内,你可以按照typeOperation
的格式新建文件夹,如imgGenerate、videoEncode
等) -
当你写好一个算法后,你需要在对应的 test 文件夹下加上对应算法的测试文件
-
使用单一驼峰命名法,但是类名和算法文件名首字母可以大写,举例如
正确的:BruteFoce.py, insert, badCharOffset
错误的:BF_word_count.py, Insert, BadCharOffset
-
每个函数和类都需要添加相应的注释(
vscode koroFileHeader
插件可以帮助你更快地写好注释)# 这是这个插件利用 ctrl + alt + t 快捷键生成的函数注释 /** * @description: * @param {*} * @return {*} */
-
确保你提交的每一个版本都是完全的,不要提交半成品算法
将项目 clone 到本地进行修改,pull 时选择 pull merge 而不是直接 commit to master。您的贡献将经过审核判断是否接受。
- 简单的匹配算法只能做到非全字匹配,全字匹配还要考虑单行没有统计完的情况,如being be
- 2021/07/23
- 需求分析,项目搭建,明确分工
- 实现 BF 字符串匹配、KMP 字符串匹配
- 实现 BF 计数、BST 计数、Trie 计数、hashTable 计数
- 2021/07/24
- 实现 BM 字符串匹配、Sunday 字符串匹配
- 项目文件结构更改
- Ui 基本框架
- 2021/07/25
- 实现 10 种加密算法
- 实现几种字符串距离度量函数
- 文本相似性算法设计
- 2021/07/26
- 实现 8 种数据压缩算法
- 添加 5 种字符串匹配算法
- 实现括号匹配
- 实现语音朗读
- 实现基于树的文本相似性算法
- 实现code IDE自动补全和在线编译
- 2021/07/27
- 实现几个功能
- 2021/07/28
- 底层算法优化
- 2021/07/29
- 代码重构