缪坤浩的第二次作业
| 这次作业属于哪个课程 | https://edu.cnblogs.com/campus/zjlg/rjjc |
|---|---|
| 这个作业的目标 | 实现一个命令行文本计数统计程序;能正确统计导入的纯英文txt文本中的字符数,单词数,句子数;最好能统计代码行、空行、注释行等,并提供相应命令接口。 |
| 姓名-学号 | 缪坤浩-2022329301017 |
| 码云仓库地址 | https://gitee.com/miao-kunhao/mickey-mouse-clubhouse-.git |
一、作业要求
实现一个命令行文本计数统计程序。能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。
具体命令行界面要求举例:
命令模式: wc.exe [参数] [文件名]
wc.exe -c file.txt 统计字符数
wc.exe -w file.txt 统计单词数
扩展功能(加分项):统计代码行、空行、注释行等,并提供相应命令接口。
项目要求必须通过多次提交体现各个版本更迭和运行结果截图,版本号分别为
v0.1 空项目;
v0.2 项目完成基础功能
v0.3 项目完成扩展功能(加分项)
编写对应的单元测试。
使用选用的IDE附带的工具进行performance test。
二、项目介绍
因为之前在了解yolov8的时候下载过一些软件,所以选择了使用python编程。
首先,是基础功能:能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。
部分代码如下所示,完整代码在Gitee里面。
char_count = len(content) # 计算总字符数
word_count = len(re.findall(r'\b\w+\b', content)) # 使用正则表达式匹配单词,计算单词数
sentence_count = len(re.split(r'[.!?]', content)) - 1 # 使用正则表达式分割句子,并计算句子数
return char_count, word_count, sentence_count
其次,是拓展功能:统计代码行、空行、注释行等,并提供相应命令接口。
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
stripped_line = line.strip()
if stripped_line == "":
blank_lines += 1
elif stripped_line.startswith("#"):
comment_lines += 1
else:
code_lines += 1
return code_lines, comment_lines, blank_lines`
这样,基础功能和拓展功能都能成功实现了。

这是网上搜的莎士比亚的一首情诗,拿来测试一下。
结果如下:

各项希望得到的信息都能准确得出。
三、程序调试
python提供类似于C++ gdb的调试工具pdb,我们可以使用pdb在命令行下进行Python程序的调试。我们可以直接在命令行启动目标程序,加上-m参数。
我的程序名为iloveu,所以情况如下:

四、作业感想
首先,这次的作业让我接触到了一项新的代码任务,虽然之前上过一些和编程相关的课程,但是鄙人不才,C语言惨遭挂科。这次的代码不是我自己写的,借助了科技的力量,但是我努力地去理解了,感觉还是有收获的。
然后,我学会了有关gitee的一些知识,这是一个全新的小空间,眼界开阔了一些。
最后,整个作业坐下来磕磕绊绊的,感谢网上的资料和为我解答一些疑惑的同学,宝剑锋从磨砺出,梅花香自苦寒来,这是一次有困难有成就感的作业。

浙公网安备 33010602011771号