- 博客(30)
- 收藏
- 关注
原创 实验4:列表与字典应用
1. 读取文本文件# 2. 加载停用词表# 3. 文本预处理和分词# 去除标点符号(简单示例)# 精确模式分词# 过滤停用词和单字# 4. 生成词云font_path='msyh.ttc', # 微软雅黑字体plt.show()wc.to_file(f'{title}_wordcloud.png') # 保存词云图片# 主程序# 配置文件路径stop_file = "stopwords.txt" # 停用词文件。
2025-04-25 10:39:08
283
原创 统计两会政府工作报告热词频率,并生成词云
准备一份包含两会政府工作报告内容的文本文件(例如report.txt:准备一个包含常见无意义词汇的文件(例如),用于过滤分词结果。
2025-04-18 11:34:50
252
原创 实验2:turtle 库绘制进阶图形
知识点:turtle 库坐标控制、循环结构、函数封装(教材2.3-2.4)2. 设计函数绘制自定义正多边形(边数与颜色参数化)2. 设计函数绘制自定义正多边形(边数与颜色参数化)1. 绘制嵌套彩色五角星(大小逐层递减)1.绘制嵌套彩色五角星(大小逐层递减)3. 扩展:实现动态旋转花瓣图案。3.实现动态旋转花瓣图案。
2025-04-18 10:26:06
285
原创 实验1 温度转换与输入输出强化
知识点:input()/print()、分支语句、字符串处理(教材2.1-2.2)2. 扩展功能:输入错误处理(如非数字输入提示重新输入)1. 实现摄氏温度与华氏温度互转(保留两位小数)3. 扩展:支持开尔文温度的三向转换。
2025-04-18 10:21:33
146
原创 字符田字格绘制
要求:编写函数,根据参数(宽度)用字符打印任意大小的田字格(效果参考图5.16)。1. 田字格由“+”和“-”、“|”组成,中心十字线将方格分为四等份。2. 宽度参数决定每行字符数(如宽度=5时,田字格为5x5字符)。3. 奇数行打印“|”和空格,偶数行在特定位置打印“+”和“-”。n = width 假设width是奇数,确保中心对称。示例调用(宽度=5)
2025-04-15 13:37:01
196
原创 蒙特卡罗方法手搓图形
蒙特卡罗方法是一种通过随机采样来近似计算数学问题的数值方法。以下展示如何使用Python手动实现蒙特卡罗方法来估算π值。print(f"计算时间: {elapsed_time:.4f}秒")# 在[-1,1]x[-1,1]的正方形内随机生成点。print(f"π的估计值: {pi_estimate}")n_samples = 10000 # 可以调整样本数量。3. 这个比例应该接近圆的面积与正方形面积之比(π/4)# 计算每个点到原点的距离。2. 计算落在内切圆内的点的比例。# 判断点是否在圆内。
2025-04-06 14:15:04
273
原创 Python中 if __name__ == “__main__“: 的含义,为什么需要写这个语句?
当模块被导入时,`__name__` 的值会变成模块的文件名(不含 `.py` 后缀)。例如,文件 `demo.py` 被导入后,其 `__name__` 值为 `"demo"`^7^9。定义:每个 Python 文件(模块)都有一个内置变量 `__name__`,其值取决于模块的使用方式^1^2^3。可以将测试代码或示例用法放在该条件下,仅在直接运行时触发,不影响模块被导入时的功能^5^6。当模块被直接运行时,`__name__` 的值会被设置为 `"__main__"`。
2025-04-02 14:39:52
364
原创 列举所了解的测试工具
1. Selenium:一个自动化测试工具,可以模拟用户在网页上的操作,支持多种编程语言,如Java、Python等。2. Appium:一个移动端自动化测试工具,支持多种移动端操作系统,如iOS、Android等。4. Postman:一个API测试工具,可以发送HTTP请求和接收响应,并支持断言、变量等功能。7. TestRail:一个测试管理工具,可以帮助团队管理测试计划、测试用例、缺陷跟踪等。3. JMeter:一个功能强大的压力测试工具,可以模拟多种协议和场景进行测试。
2024-05-28 22:45:02
393
原创 说说你了解过,使用过什么编程工具?
它是一个集成开发环境(IDE),主要用于Java开发,但也支持其他语言,如C/C++、PHP、Python等。这是一种可以支持多种编程语言的开发工具,如c,c++,C#,java,Visual Basic等。这是一款带有一整套可以帮助用户在使用Python语言开发室提高效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。这是一种c/c++的开发工具,它包括多页面窗口、工程编辑器,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序。
2024-05-25 15:20:05
837
原创 说说你了解过,使用过什么编程语言?比较他们的优势。
c++:说他为语言的超级版也不为过,可扩展性强,高效,简洁,快速。c++库中的函数很多,比如sort(),比c语言的qsort()的参数更少,要简洁许多。而且支持硬件开发,如嵌入式,单片机。java:相较于c,它的优势在于它是面向对象的语言。和c++一样,不用我们创建太多的基础方法,直接调用库中的方法即可。有着很高的跨平台性。python:据了解,其语法十分简洁,是目前我所见过的语法最为简洁的编程语言,它能用少量的代码构建出很多功能。至今为止,我只学习和使用过c语言,c++,java,了解过python。
2024-05-25 14:48:05
297
原创 为什么软件工程方法论会让你觉得很糟糕--读后感
4.文章最后提出了一些改进方法论的建议,例如采用更加灵活和适应性强的方法,以及重视团队成员之间的协作和沟通。2.团队成员之间的沟通障碍。这提醒我,无论采用何种方法论,保持团队成员之间的开放沟通都是很重要的。这让我认识到,敏捷开发方法之所以受到欢迎,是因为它鼓励快速迭代和适应性规划,从而更好地应对变化。这让我意识到,尽管方法论提供了一套标准化的流程,但这种标准化有时反而会限制团队的创新能力和灵活性。总之,软件开发是一个不断进化的领域,我们需要不断地学习、适应并改进我们的方法论,以满足不断变化的需求。
2024-05-23 21:31:49
304
1
原创 如何理解信息隐藏和局部化?
信息隐藏:是指模块内部的信息(数据和实现细节)对于外部是不可见的,只有通过定义良好的接口才能访问。这样做的好处是,模块内部的变化不会影响到其他模块,从而减少了系统的不稳定性和维护成本。例如,在使用一个家电时,我们只需要知道如何操作按钮来控制家电,而不需要知道内部的电路是如何工作的。局部化:是指将相关的数据和处理这些数据的函数组合在一起,构成一个模块。例如,在手机中的天气预报窗口,与“温度”相关的所有功能(如显示温度、计算温度变化等)应该被组织在一起,形成一个局部化的模块。
2024-05-23 20:53:59
331
1
原创 衡量模块化独立的定义标准是什么?
理想的情况是模块之间的耦合度尽可能低,而模块内的内聚度尽可能高。这样,修改一个模块对其他模块的影响最小,模块本身也更容易理解和维护。内聚度:是指模块内部各个元素之间相关联的紧密程度。高内聚意味着模块内部的元素紧密协作,共同完成一个单一的任务。耦合度:是指模块之间相互依赖的程度。低耦合意味着模块之间相互独立,一个模块的变更对其他模块的影响较小。衡量模块独立的定性标准通常包括模块之间的耦合度和模块的内聚度。
2024-05-23 20:43:57
593
1
原创 什么是模块化?为什么要模块化?
定义:模块化是指将一个复杂的系统分解成若干个相对独立的、功能单一的模块,每个模块负责系统的一部分功能。模块化是软件工程和系统工程中的一个重要概念。2提高了系统的可维护性和可扩展性。4提高了开发效率,降低了出错率。1可以降低系统的复杂性。3可以实现代码的复用。
2024-05-22 23:54:53
392
1
原创 开发中小学生学习数学的软件,应找谁去做用户调研?
学生和家长是该软件主要的忠实用户。因为最终的产品可以满足他们的需求。可以通过问卷调查、访谈或小组讨论的形式,了解学生们在学习数学时的具体困难,以及他们希望软件能提供什么样的帮助。同时,家长对教育软件的看法和期望也非常重要,因为他们是购买和推动使用的主要力量。2.教育专家和教师。与小学数学教师和教育专家进行沟通,可以获取关于学生学习需求、课程标准、教学难点和热点的第一手资料。了解政府对教育技术产品的规定和标准也很重要。调研教育部门的政策导向和规定,可以帮助产品符合国家标准,更容易被教师和家长接受。
2024-05-18 22:44:04
300
原创 画出入学管理系统的顶层图和1层图
1、报名:由报名处负责,需要在学员登记表上进行报名登记,需要查询课程表让学员选报课程,学院所报课程将记录到学员选课表。2、交费:由收费处负责,需要根据学员所报课程的收费标准进行收费,然后在账目表上记账,并打印收款收据给办理交费的学员。3、就读:由培训处负责,其在验证学员收款收据后,根据学员所报课程将学员安排到合适班级。画出入学管理系统的顶层图和1层图。
2024-05-12 10:46:04
851
1
原创 了解WBS
WBS(Work Breakdown Structure)即工作分解结构,是一种项目管理的工具,用于将项目的范围和任务细分为更小、更易于管理和控制的可交付成果。WBS 将项目任务从总目标开始分解,逐级细化,直到每个任务都可以被分配给一个特定的执行者。WBS 通常以树状图的形式呈现,顶部是项目的最终目标,下面是分解出的各个子任务。验证:验证 WBS 是否覆盖了项目的所有方面,确保没有遗漏的任务。任务分解:将复杂的项目分解为更小、更易于管理的任务。继续分解:继续将子目标分解为更小的、可管理的任务。
2024-05-11 17:53:48
274
1
原创 什么是分而治之?
在软件工程中,分而治之被广泛应用于算法设计,系统设计,软件开发等方面。通过将问题分解为小问题,并逐个击破,可以简化处理过程,提高效率和可维护性。“分治法”是很多高效算法的基础。例如排序算法(快速排序,归并排序),傅里叶变换(快速傅里叶变换)等。分而治之,就是把一个复杂的一个大问题分成两个或多个相同或相似的子问题,再把子问题分成更小的子问题直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并。分治法的基本思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
2024-05-11 17:30:24
162
1
原创 为什么软件开发周期总是预估的2~3倍? --读后感
6.开发人员经验不足。经历的软件开发的项目少,对软件开发的工作细节,时间分配没有合理的规划。1.没有合理地规划好每一层步骤时间。以为能在这个规定时间内做完,其实也许不能。软件开发需要有足够的人力物力资源支撑,还需要合理分配资源。2.预估开发周期的时候没有考虑到一些特殊情况。例如遇到法定节假日等。4.团队的配合度不够。可能在一些方面上遇到意见不统一的情况。3.开发人员的自身问题。例如开发人员突发疾病等。来源:为什么软件开发周期总是预估的2~3倍。
2024-05-11 17:17:38
153
1
原创 什么是形式化方法--读《大象﹣ thinking in UML 》有感
是指用正式的、抽象的、基于逻辑和数学的方式来描述、分析和构建系统的方法。这种方法强调使用严格的符号系统来表述系统的各个方面,以确保系统设计的准确性和完整性。通过使用形式化方法,可以提高系统设计的质量,减少错误和缺陷,确保系统行为的可预测性和正确性。2.可验证性:由于形式化方法基于数学,因此可以证明系统设计满足特定的性质和需求,有助于确保系统的行为符合预期,减少系统故障和缺陷。1.精确性:形式化方法使用精确的数学语言来描述系统,这有助于消除模糊不清和误解,从而提高系统设计的准确性。
2024-05-05 14:01:21
258
原创 理解结对编程
在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。其次,一定时间周期地打乱配对,让参与项目的人员相互转换位置,使得维护繁杂的文档变得不那么重要。首先,它可以促进参与项目的程序员自身的提高,一对程序员工作的时候,水平较低的一方会潜移默化地受水平略高的程序员影响,学到一些新的东西。总之,结对编程需要团队之间有高度的信任和沟通,以及对彼此的技能和知识的尊重.这种方法可以提高团队的协作效率,促进知识的共享,并最终提高软件的开发的质量和效率.他输入的每一行代码。
2024-05-05 11:39:22
303
原创 查阅资料,了解什么是 scrum 中的3355?
2. Sprint迭代代办清单 :每个sprint开始时,开发团队从产品代办事项中选择任务,创建一个 Sprint Backlog,它是这个sprint要完成的工作的详细清单。3. 可交付产品增量 :每个sprint结束时,团队应该交付一个可用的、集成的产品增量,这个增量应该是可测试的,并满足之前定义的“完成”标准。3. 开发团队:一个自组织的跨职能团队,负责构建产品并交付工作产品。1. Sprint:一个sprint通常为2-4周,是Scrum中的时间盒,也是开发团队工作和交付产品的周期。
2024-05-05 11:15:57
530
原创 什么是DevOps?_读书笔记
运维需要做的事情,慢慢的都沉淀到了各个平台上面,例如监控,有专门的监控组件和可视化,基础服务例如服务器,CDN,负载均衡等基础服务可以外包到云服务厂商,日志也有专门的日志工具,链路追踪也有专门的组件和可视化,还有网关等,渐渐的,只要这些都配置好了,开发也可以做运维的部分工作,毕竟开发才是最了解代码的人,哪里出了问题看看监控日志,可以最快速度定位到问题,于是DEVOPS开发模式诞生了,开发也是运维。DevOps 实施过程中常用的工具,包括项目管理、代码管理、持续集成、镜像仓库、容器、服务治理、日志、监控等。
2024-05-04 23:57:10
257
1
原创 软件工程方法论对我们经软件开发有多大用处?谈谈看法。
同时,软件工程方法论也有助于提高团队的合作效率,减少沟通不畅导致的误解和错误,促进团队成员之间的协作和交流。我们通过软工方法论,可以根据不同的软件特点和需求,选择合适的开发模型和流程,来提高开发效率和质量。软件工程方法论可以帮助团队更好地组织和管理开发过程,规范各个环节的操作。在软件开发过程中,使用各种工具和技术也可以帮助开发团队更高效地完成工作。我觉得,软件工程方法论对开发软件起到非常重要的作用。
2024-04-27 10:37:17
144
原创 有人负责,才有质量。读书笔记。
虽然模块化和代码重用是好的理念,但在实际操作中,复杂的依赖关系和维护问题可能会使得项目变得难以使用和维护。模块化和代码重用是提高效率和减少重复工作的关键策略,但它们也可能导致依赖性的增加和系统的复杂性。在快速增长期间,很多年轻的程序员和公司可能会因为缺乏经验和成熟的管理而面临挑战。开源软件运动极大地促进了软件开发的发展,通过共享代码和协作,它推动了创新和技术的进步。总的来说,在开源软件运动中平衡创新和维护很重要,在快速增长的技术行业中保持质量和稳健也是不可或缺的一部分。
2024-04-27 10:27:32
170
原创 从瀑布到敏捷﹣﹣漫画解读软件开发模式变迁史。读书笔记。
看板、SCRUM和精益软件开发等模式则是敏捷运动的产物,它们进一步优化了软件开发过程,提高了开发效率和质量。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。软件工业的发展经历了从瀑布模型到敏捷开发,再到看板、SCRUM和精益软件开发等不同开发模式的变迁。总之,软件开发模式的变迁是一个不断探索和优化的过程,各种开发模式都有其适用的场景和优势。在实际开发过程中,团队可以根据项目的需求和特点,选择合适的开发模式,以提高开发效率和质量。
2024-04-27 09:58:06
271
原创 homework2
不会写程序的人怎么开发软件?软件本来就是由各种代码构成的程序而来的。不会写程序,怎么开发软件,靠各种插件吗?只会用插件算什么本事,大厂大多都要那种能自己把插件做出来的。所以,会写程序很有必要。个人目标:我想成为一个高级软件工程师,最好是制作游戏的,所以我会不断去学习编程与算法等,努力做的更好。希望:我想通过软件工程这门课程学习如何制作软件,毕竟我还想通过这门技术来制作游戏。2.软件工程是不是教会不怎么会写程序的人开发软件?1.对软件工程课程的希望和个人目标。
2024-04-22 13:17:17
160
原创 速读与提问
原因:至今已学习了c语言基础,java,数据结构,计算机网络等与计算机有关的知识,但仍旧不懂得应如何制作一个软件,只会学到了一些算法来解决一些数学题.而本书名字为"软件工程技术与应用",一开始就让我联想到是否可以通过这本书来学习制作一个软件,亦或者是类似于微信小程序这样的小程序.上下文:粗略地看完了这本书,我知道了一些制作软件项目的方法与设计理念,但大多都是概念性的且抽象的,并没有实践性地教我们制作软件,不过老师在课堂上也说过,本门课程不讲编程,所以,能否通过这本书来学习如何制作一个软件?
2024-04-14 21:05:53
467
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人