李尚杰的第二次作业

news/2025/3/12 13:32:04/文章来源:https://www.cnblogs.com/Original-L/p/18508449
这次作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc
这个作业的目标 实现一个命令行文本计数统计程序。能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。
姓名-学号 李尚杰-2022329301146

Gitee地址:https://gitee.com/shangjie-Li/Statistical-programs
注:本博客内不含项目代码

一、作业要求

实现一个命令行文本计数统计程序。能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。
具体命令行界面要求举例:
命令模式: wc.exe [参数] [文件名]
wc.exe -c file.txt 统计字符数
wc.exe -w file.txt 统计单词数
扩展功能(加分项):统计代码行、空行、注释行等,并提供相应命令接口。

  1. 项目文档应包含项目说明,写入 README.MD
  2. 码云上传的项目要求必须通过多次提交体现各个版本更迭和运行结果截图
  3. 编写对应的单元测试
  4. 使用选用的IDE附带的工具进行performance test

二、指令说明

指令说明:main.exe [-h] [-c] [-w] [-s] [-cl] [-bl] [-ctl] [-ch] filename.txt

基本语句

  1. main.exe -c file.txt 统计字符数

  2. main.exe -w file.txt 统计单词数

  3. main.exe -s file.txt 统计句子数

拓展语句

  1. main.exe -cl file.txt 统计代码行数

  2. main.exe -bl file.txt 统计空行数

  3. main.exe -ctl file.txt 统计注释行数

  4. main.exe -ch file.txt 统计中文字数

三、使用方法

Step 1.通过win+R调出命令行窗口输出cmd,进入终端。


Step 2.使用 cd 命令进入到相对应的文件目录下。


Step 3.按照相应的命令指令运行程序。


四、运行结果

v0.1

命令行窗口运行 main.exe 后的结果如下


v0.2

命令行窗口运行 main.exe -c -w -s file.txt 后的结果如下


v0.3

命令行窗口运行 main.exe -c -w -s -cl -bl -ctl -ch file.txt 后的结果如下


五、单元测试

v0.2

使用了5个测试用例对于不同情况下文本对代码进行单元测试,结果如下:


v0.3

使用了7个测试用例对于不同情况下文本对代码进行单元测试,结果如下:


六、性能测试

我采用了Python的拓展库cProfile来对代码进行测试,下图是部分函数测试结果图。


七、心得体会

  在完成了相关项目代码的编写后,我对于Python编程语言及其拓展库的使用有个更深的了解。同时文本计数统计的任务也让我更了解了应该如何处理文本文件,而单元测试能够对程序的整体功能进行一个整体的验证,这也是我从前所不知道的,通过cProfile库来实现性能测试更是我完全没有使用过的内容,这使得我可以分析程序中的运行过程,了解性能并进行优化。此次的作业令我受益匪浅,学到了许多过去从来没有接触过的知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/822791.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP微优化技巧有哪些

### PHP微优化技巧有哪些 在提升PHP应用性能的过程中,微优化技巧是不可忽视的一环。这些技巧包括、但不限于减少不必要的函数调用、优化数据结构和算法、使用适当的缓存机制、避免在循环中进行资源密集型操作。其中,减少不必要的函数调用是一个简单而有效的策略,它可以通过消…

SSD和HDD在硬盘存储中有什么区别

SSD和HDD在硬盘存储中的区别:1.工作原理不同;2.速度和性能;3.可靠性;4.噪音和发热;5.价格;6.存储容量;7.电源效率。硬盘存储一直是计算机系统中不可或缺的一部分,而在硬盘选择方面,固态硬盘(Solid State Drive,简称SSD)和机械硬盘(Hard Disk Drive,简称HDD)是两…

DP 详解

DP 概述 DP(Dynamic programming,全称动态规划),是一种基于分治,将原问题分解为简单子问题求解复杂问题的方法。 动态规划的耗时往往远少于朴素(爆搜)解法。 动态规划 and 递归 之前说过,动态规划也是分治思路,而递归更是传统的分治思路,但时间复杂度却大相径庭,为什…

2024-2025-1 20241415 《计算机基础与程序设计》第五周学习总结

2024-2025-1 20241415《计算机基础与程序设计》第五周学习总结 作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第五周作业这个作业的目标 Pep/9虚拟机、机器语言与汇编语言、算法与伪代码、测试:黑盒,白…

第46篇 1.net学习avalonia开发-安装环境

1.安装avaloniaUI模版1.1cmd进入控制台,执行:dotnet new install Avalonia.Templates2.安装AvaloniaUI可视化设计工具 扩展-管理扩展(手动下载地址:https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS)然后关闭所有已经打开的vs进程后,自动安…

web端和pc端的区别

本文详细探讨了Web端和PC端应用的主要区别及其各自的特点和应用场景。文章内容包括:1.平台和运行环境;2.开发和维护要求;3.用户体验和交互设计;4.性能和资源占用;5.安全性和隐私;6.可访问性和便携性;7.市场趋势和用户偏好。理解这些区别对于软件开发者和终端用户在选择和…

Java NIO direct buffer的优势在哪儿

Java NIO Direct Buffer的优势主要体现在:减少数据在Java堆和本地堆之间的复制次数、提高了内存管理效率、可直接访问操作系统的内存资源、增加了处理大型数据集的能力。这些优势共同作用,显著提高了大数据量传输的性能。其中,提高内存管理效率尤为关键,因为它减轻了垃圾收…

2024-2025-1 20241314 《计算机基础与程序设计》第五周学习总结

2024-2025-1 20241314 《计算机基础与程序设计》第五周学习总结 作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第五周作业这个作业的目标 Pep/9 虚拟机 机器语言与汇编语言 算法与伪代码 测试:黑盒,白…

第四次高级程序语言设计

2024高级语言程序设计:https://edu.cnblogs.com/campus/fzu/2024C 高级语言程序设计课程第四次个人作业:https://edu.cnblogs.com/campus/fzu/2024C/homework/13293 学号:102400115 姓名:洪育豪 6.16.1问题:无6.16.5问题:忘记将字符转成对应的ASCII值 导致不能输出 解决:检查…

抖音发送私信接口响应的二进制数据解析

请求发送评论接口得到: data=bap`\x00 \x97\xce\xaa(\xef\xaa\xcd\x98[\xe1\x07\xcex\xd3%\xa4\x06z\x07$N\x12c\xde\x9b\xf0\xb2\xff \xb6&\xcb\xce\xfc\xd5~\xbf\xd0=\x94 \x1e\xda\x9e|\xc7\xfcED\xf4\xeePI.\xc94\x99G\xb1D\xc8d\xf1f\x9e %\x12D\x9dN\x88\x84\xd2x,\…

fbprophet时序模型和LSTM有什么优劣么

fbprophet时序模型优点:1、易用性;2、灵活性;3、内置节假日效应等。fbProphet缺点:1、简单性;2、依赖性。LSTM的优势:1、学习复杂模式;2、适用于各自数据;3、模型调整。LSTM的劣势:1、计算复杂;2、难以理解;3、过拟合风险。LSTM模型通常需要更多的计算资源和时间来训…

如何在Linux上优化系统性能

​优化Linux系统性能需要遵循以下关键步骤:1. 识别和监控系统瓶颈;2. 最大化硬件资源使用;3. 优化内核参数和服务设置;4. 调整文件系统和存储性能;5. 选择合适的软件和工具。优化的第一步是通过监控工具了解系统的当前状态。1.识别和监控系统瓶颈 优化Linux系统性能的开始…