程序聚合 软件案例 Python学生成绩管理小工具

Python学生成绩管理小工具

2026-05-29 19:11:15
行业:在线教育
载体:爬虫/脚本
技术:Python

业务和功能介绍

1. 立项背景和目标
每次期中考试期末考试后,老师都会发成绩单,但是要自己算总分和排名真的太麻烦了!我作为初二学生,每次算全班成绩排名都要算好久,还容易算错。所以就想用刚学的Python写一个小工具,帮我自动算成绩、排排名,还能保存下来,这样就不用每次都手动算了。目标就是做一个简单好用、不用安装复杂软件的命令行小工具,同学也能一起用。

2. 软件功能、核心功能模块的介绍
这个工具主要有5个功能:
- 添加学生成绩:可以输入学生姓名、语文、数学、英语三科成绩,程序自动算总分
- 查询学生成绩:输入名字就能查到某个人的所有成绩和排名
- 修改学生成绩:输错了可以改,不用重新输入
- 删除学生成绩:有人转走了可以删掉
- 显示排名表:自动按总分从高到低排序,显示全班的排名、总分、平均分
还有一个很重要的功能就是自动保存,退出程序再打开,之前输的成绩都还在,不会丢!

3. 业务流程、功能路径描述
运行程序后,首先会显示一个主菜单,有5个选项:1添加、2查询、3修改、4删除、5退出。输入数字就能选功能。比如选1添加,就会提示你输入姓名,然后依次输入语文数学英语分数,输完自动算总分告诉你。选5退出的时候,程序会自动把所有成绩保存到一个txt文件里,下次打开自动读取。整个操作都是在黑框框里输入数字和文字就行,不用点鼠标,特别简单。

项目实现

1. 整体架构和设计思路,不同模块使用的技术栈
整个程序就是一个Python文件,不到200行代码,用的都是Python最基础的东西,没有用任何复杂框架。主要分成几个部分:
- 数据存储:用列表存字典,每个字典存一个学生的所有信息
- 文件读写:用Python的open函数,退出时save,启动时load
- 菜单循环:用while True做无限循环,直到选5退出
- 排序功能:用sorted函数,key参数指定按总分排序
每个功能都是一个函数,比如add_student()、show_rank()这样,主程序调用这些函数就行。

2. "我"的负责模块和结果(尽可能量化)
整个程序都是我一个人写的,从想法到写完调试好用了3天时间。
- 第一天:写了菜单和添加功能,能输入成绩显示总分
- 第二天:加了查询、修改、删除,还有排序排名
- 第三天:搞定了文件保存和读取,解决了各种bug
最后统计了一下,一共写了187行代码,实现了5个主要功能。现在我们班有5个同学在用这个工具算成绩,都说比手动算快多了,而且不会算错。

3. "我"遇到的难点、坑,和解决方案
写的时候遇到好几个问题,都是查资料问老师才解决的:
第一个坑:排序不会写。一开始不知道怎么按总分排序,查了好久才知道sorted函数可以用key=lambda x:x['total'],试了好多次才成功。
第二个坑:文件保存路径不对。一开始保存的文件找不到,后来才知道要写绝对路径,或者和py文件放同一个文件夹里。
第三个坑:输入非数字会崩溃。如果输成绩的时候不小心输了字母,程序就直接报错退出了。后来加了try-except异常处理,输错了会提示重新输入,不会崩溃。
最大的收获就是:编程不是一下子就能写对的,要慢慢调试,遇到问题不要怕,查资料总能解决的。

示例图片视频


giraffe
3天前活跃
方向: 前端-Web前端、爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
基于英伟达 TensorRT 的 AI 模型推理加速部署-基于英伟达 TensorRT 的 AI 模型推理加速部署软件
AI模型 越来越多,软件功能也越来越丰富,客户端部署小模型应用也是当前的热门。目前还是英伟达显卡遥遥领先的情况下,模型推理加速首选还是TensorRT技术。 英伟达官网下载 TensorRT,注意要结合硬件选择对应的CUDA和CUDNN版本。 神经网络推理模型部署 将神经网络推理框架的接口和转换后的神经网络推理模型一起打包发布到客户终端。这里有个难点是推理框架和使用的推理硬件是有深度绑定的,而客户手上的硬件各有不同......。有两个不同的解决方法,一个是发布不同硬件版本的部署产品,一个是在客户的设备上进行一次神经网络推理模型的生成。 如果选择第二个方法,又会遇到新问题就是不想把自己辛苦训练的神经网络模型暴露给其他人,只想提供推理模型。那么又出来一个模型动态加解密的技术。。。
莹渡
完整2d项目,包含状态机、对话、背包系统和完善的交互机制等偏情节类型的2d横板游戏。完整2d项目,包含状态机、对话、背包系统和完善的交互机制等偏情节类型的2d横板游戏。完整2d项目,包含状态机、对话、背包系统和完善的交互机制等偏情节类型的2d横板游戏。
游戏插件-fivem插件
代码接单:Python、Web、小程序、脚本开发。需求清晰、报价合理、交付及时。擅长前后端开发、数据分析、自动化脚本、爬虫等。私信发送需求,快速评估报价与时间。代码整洁规范,有注释可维护,支持上线部署与后续微调。长期合作更有优惠,欢迎随时沟通。
创新无轨音乐游戏-NotaNote
当前主流音乐游戏多采用固定轨道交互模式,玩法同质化严重,玩家对更具沉浸感与自由度的音乐交互体验需求持续增长。本项目以“无轨表演式交互”为核心,打造了创新式无轨表演音乐游戏Notanote,目标是打破传统轨道限制,让玩家通过自由的点击、滑动操作跟随音乐节奏完成演奏,实现毫秒级判定精度、低延迟交互与多平台流畅运行。 游戏核心功能模块包括:1. 无轨节奏判定系统,支持自定义判定点位置与类型(点击、长按、滑动),脱离固定轨道限制,玩家可在屏幕任意位置完成交互;2. 多难度谱面系统,针对不同水平玩家设计分级难度谱面,支持谱面动态加载与难度自适应;3. 演出反馈与评分系统,实时根据玩家操作反馈特效、音效与评分,提供连击、完美判定等多维度评价;4. 谱面编辑器,支持用户自定义谱面创作,可导入音乐文件并编辑判定点,搭建社区内容生态。 业务流程清晰完整:玩家启动游戏后,可选择官方谱面游玩,进入游戏后加载音乐与判定数据,游戏过程中通过触摸/点击屏幕完成节奏交互,系统实时判定操作精度并给出反馈,游戏结束后生成评分与回放数据,支持分享至社区平台,满足玩家竞技与创作双重需求。
UERPG游戏
独立完成一款轻量级RPG Demo开发,覆盖角色战斗、背包管理等核心玩法,验证UE引擎 全流程开发能力,目标为模拟真实游戏项目的模块化设计与落地。 1. 关卡玩法设计与实现 战斗系统:基于UE5动画蓝图与状态机,设计角色连击机制——通过动画通知(Anim Notif y)精准触发攻击判定(如刀光碰撞检测),以及实现多段攻击的状态同步(如第一段命中 后触发第二段起手动画),最终完成3段连击的完整动作链。 2. UI逻辑开发与体验优化 背包 系统:基于UMG(UI Widget)搭建可视化背包界面,支持装备穿戴实时属性更新;通过数 据表存储物品基础信息(图标、属性、类型),结合蓝图变量绑定实现UI与背包数据的双向 同步(如道具数量变化时自动刷新列表)。 玩法辅助UI:设计血条/蓝条动态显示(受击时 红色闪烁)、快捷栏(支持键盘快捷键切换装备)、任务追踪面板(实时更新目标进度), 通过事件监听响应角色状态变化(如受伤时触发血条动画)。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服