Python : 使用python实现学生管理系统的功能,详细注释

一、学生管理系统

学生描述:姓名、年龄、成绩

学生管理系统功能:添加学生信息、删除学生信息、根据姓名修改学生信息、根据姓名查询学生信息、显示所有学生信息、退出系统

二、代码说明

1. 将每一个学生的信息放一个元组中,再把元组添加到列表中

2. 元组 键值对儿  {name: value,  age: value,  score: value } 

3. 用到 字典的增删改查、列表的增删改查、函数的调用、列表的遍历、循环语句、判断语句等知识 

三、代码实现

# 定义一个空列表,用来存放学生信息
class_info = []
def print_menu():print("-------------------")print("学生管理系统 V1.0")print(" 1:添加学生")print(" 2:删除学生")print(" 3:修改学生")print(" 4:查询学生")print(" 5:显示所有学生")print(" 6:退出系统")print("-----------------")# 完成添加学生信息的函数
def add_student():# 声明使用全局变量 class_infoglobal class_info# 从键盘输入 学生 姓名 年龄 成绩name = input("请输入学生的姓名:>>")age = int(input("请输入学生的年龄:>>"))score = int(input("请输入学生的成绩:>>"))# 对数据进行验证,验证学生是否有重名情况for student in class_info:# 发生重名现象if student["name"] == name:print("您输入的学生已经存在~!")return# 将学生信息添加到班级信息中student = {"name": name,"age": age,"score": score}class_info.append(student)print("恭喜您,添加学生信息成功 !")return None# 删除学生信息
def del_student():global class_info# 根据学生姓名删除学生name = input("请输入您要删除的学生的姓名:>>")# 在班级信息中,找到想要删除的学生for student in class_info:if student["name"] == name:# 对列表进行删除class_info.remove(student)print("恭喜您删除成功")return 0# 遍历完 程序走到这里证明学生不存在print("您输入的学生不存在,删除失败~~")return None# 修改学生信息
def modify_student():global class_info# 通过学生姓名,来找到学生name = input("请输入需要修改的学生姓名:>>>")# 遍历班级信息,找到需要修改的学生for student in class_info:# 找到想要修改的学生信息if student["name"] == name:student["name"] = input("请输入修改后的学生姓名: >>>")student["age"] = int(input("请输入修改后的学生年龄:>>>"))student["score"] = int(input("请输入修改后的学生成绩: >>>"))print("恭喜您,修改成功..")return 0# 当走出循环的时候表明,学生不存在print("您输入的学生不存在,修改失败~~")return None# 查找学生信息
def search_student():global class_info# 根据学生的姓名进行查找name = input("请输入您要查找的学生姓名:>>>")# 遍历班级信息,查找对应的学生for student in class_info:# 找到学生if student["name"] == name:print("姓名:{}\n年龄:{}\n成绩:{}".format(student["name"], student["age"], student["score"]))return 0# 跳出循环表示学生没有找到print("您输入的学生不存在,查找失败~~")return None# 显示所有学生信息
def show_student():print("%-10s%-5s%-5s" %("姓名", "年龄", "成绩"))# 遍历学生信息for student in class_info:print("%-10s%-5d%-5d" %(student["name"], student["age"], student["score"]))def run():# 开始运行学生管理系统while True:# 1.打印学生管理系统功能print_menu()# 2.从键盘中输入选择的功能choose = int(input("请输入您需要的功能 >>>>"))# 3.根据输入的选项,做相应的功能if choose == 1:# 添加学生功能add_student()elif choose == 2:# 删除学生信息del_student()elif choose == 3:# 修改学生信息modify_student()elif choose == 4:# 查找学生信息search_student()elif choose == 5:# 查看所有的学生信息show_student()elif choose == 6:# 退出系统print("Bey~~")breakelse:print("您输入有误,请重新输入~~")return None# 调用函数
run()

四、代码运行结果

1. 添加学生信息

 

2. 显示添加的所有学生

 

 3. 根据姓名查询学生信息

4.  修改学生信息

5. 修改后所有学生信息 

 

5. 删除学生信息

 

 6. 退出系统

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

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

相关文章

单片机基础入门:简单介绍51单片机的工作原理

在电子技术领域,单片机是实现智能化控制不可或缺的关键元件。它们集成了许多功能于一身,成为了各种电子系统的心脏。为了更好地理解单片机如何工作,本文将重点介绍51单片机的基本组成和工作原理。 51单片机是一种广泛使用的微控制器&#xf…

【UE 求职】学了虚幻引擎可以应聘哪些岗位?

目录 1 领域1.1 游戏开发领域1.2 影视和动画制作1.3 建筑和工程可视化1.4 模拟和训练1.5 其他领域 2 如何做好一份简历1. 明确简历目标2. 突出UE5相关技能3. 展示相关项目经验4. 教育背景5. 专业经验6. 软技能7. 证书和奖项8. 定制化和校对 🙋‍♂️ 作者&#xff1…

使用PHPStudy搭建本地web网站并实现任意浏览器公网访问

文章目录 [toc]使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2…

springcloud分布式架构网上商城源码和论文

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项…

Unity Meta Quest MR 开发(四):使用 Scene API 和 Depth API 实现深度识别和环境遮挡

文章目录 📕教程说明📕Scene API 实现遮挡📕Scene API 实现遮挡的缺点📕Depth API 实现遮挡⭐导入 Depth API⭐修改环境配置⭐添加 EnvironmentDepthOcclusion 预制体⭐给物体替换遮挡 Shader⭐取消现实手部的遮挡效果 此教程相关…

Peter算法小课堂—背包问题

我们已经学过好久好久的动态规划了,动态规划_Peter Pan was right的博客-CSDN博客 那么,我用一张图片来概括一下背包问题。 大家有可能比较疑惑,优化决策怎么优化呢?答案是,滚动数组,一个神秘而简单的东西…

点云标注工具

目录 3d手势识别 c 3d关键点,Bounding Box Labels Rectangle Labels KITTI 3D Ground Truth Annotator c标注工具 3d手势识别 GitHub - 99xtaewoo/Automated-Hand-3D-pose-annotation-Tool: Automated Hand 3D pose annotation Tool c 3d关键点,Bou…

bcdedit /store 填什么,Windows11的BCD文件在哪里?

Windows11为EFI引导,bcd文件在 EFI分区的 \EFI\Microsoft\Boot\BCD 可以选择挂载EFI分区,或者使用如下方式,该路径可充当盘符使用。 例 bcdedit /store Z:\EFI\Microsoft\Boot\BCD /enum /v

【LeetCode每日一题】二维前缀和基本概念与案例

二维前缀和 根据某个块块 的 左上角坐标,和右下角坐标 求出 块块的累加和。 304. 二维区域和检索 - 矩阵不可变 /*** param {number[][]} matrix*/ var NumMatrix function(matrix) {let row matrix.length;let col matrix[0].length;// 初始化一个二维数组&am…

项目02《游戏-13-开发》Unity3D

基于 项目02《游戏-12-开发》Unity3D , 任务 :宠物系统 及 人物头像血条 首先在主面板MainPanel预制体中新建一个Panel, 命名为PlayerInfo 新建Image,作为头像 新建Slider,作为血条 对Panel组件添加一个水…

PE 特征码定位修改程序清单 uiAccess

requestedExecutionLevel level"asInvoker" uiAccess"false" 可以修改这一行来启用禁用原程序的盾牌图标,似乎作用不大。以前没事写的一个小玩意,记录一下。 等同于这里的设置: 截图 代码如下: #include …

谷粒商城【成神路】-【7】——库存系统

目录 🧈1.仓库维护 🍟🍟1.1配置网关陆游规则 🍟🍟1.2修改模糊查询 🥞2.仓库库存 🍿3.采购需需求 🍟🍟3.1采购的模糊检索 🍟🍟3.2合并…

system V——进程间通信

上一篇博客中我介绍了system V进程间通信中的内存共享,但是其中还有两 种通信方式:消息队列、和信号量,接下来我将简单介绍一下,消息队列和 信号量以及操作系统是如何看待system V进程间通信的。1. 消息队列 a. 大致介绍 消息队…

4核8G服务器配置性能怎么样?12M带宽配置服务器能干什么?

腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线?通用型-4核8G-180G-2000G,2000GB月流量,系统盘为180GB SSD盘,12M公网带宽,下载速度峰值为1536KB/s,即1.5M/秒,假设网站内页平均大小为60KB…

CVE-2012-1823 漏洞复现

CVE-2012-1823 PHP SAPI 与运行模式 首先,介绍一下PHP的运行模式。 下载PHP源码,可以看到其中有个目录叫sapi。sapi在PHP中的作用,类似于一个消息的“传递者”,比如在《Fastcgi协议分析 && PHP-FPM未授权访问漏洞 &…

中年低端中产程序员从西安出发到海南三亚低成本吃喝万里行:西安-南宁-湛江-雷州-徐闻-博鳌-陵水-三亚-重庆-西安

文章大纲 旅途规划来回行程的确定南宁 - 北海 - 湛江轮渡成为了最终最大的不确定性!感谢神州租车气温与游玩地点总体花费 游玩过程出发时间:Day1-1月25日星期四,西安飞南宁路途中:Day2-1月26日星期五,南宁-湛江-住雷州…

工业自动化监控界面与网页、移动UI大相径庭,不能机械照搬。

工业自动化系统监控界面与网页UI、移动UI设计的不同之处主要体现在以下几个方面: 设备和数据展示:工业自动化系统监控界面需要展示大量的设备状态和实时数据,如传感器数据、设备运行状态等。相比之下,网页UI和移动UI设计更注重内容…

【开源】JAVA+Vue.js实现衣物搭配系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 衣物档案模块2.2 衣物搭配模块2.3 衣物收藏模块 三、系统设计3.1 用例设计3.2 E-R图设计3.3 数据库设计3.3.1 衣物档案表3.3.2 衣物搭配表3.3.3 衣物收藏表 四、系统实现4.1 登录页4.2 衣物档案模块4.3 衣物搭配模块4.4…

(已解决)Vue routes的 children使用(小白来看,包会!)

前言 分析链接:Vueelement ui实现好看的个人中心_vue个人信息页面代码-CSDN博客 使用了很多vue深层知识,简化并且做到自己的项目上面 对小白很有帮助,因为我就是小白,才搞明白。 最核心的就是routes的 children使用&#xff0c…