首页 > 其他分享 >编写学生管理系统,实现增删改查

编写学生管理系统,实现增删改查

时间:2024-07-17 17:59:52浏览次数:20  
标签:数字 管理系统 改查 信息 学生 增删 id 输入 option

编写学生管理系统,实现增删改查
# 输入数字1,添加学生信息(编号, 名字,年纪,性别)
# 第一个学生id为101 后续学生自动加1
# 输入数字2,查看所有学生信息
# 输入数字3,查看指定学生信息
# 输入学生id,显示对应学生信息
# 输入数字4,修改学生信息
# 输入学生id,输入学生新名字,新年纪,新性别
# 输入数字5,删除指定学生
# 输入学生id,删除指定学生
# 输入数字0,退出系统

# 列表存储所有学生
students = [
    {"id": 101, "name": "马云", "age": 20, "sex": "男"}
]

menu = """输入数字1,添加学生信息(编号, 名字,年纪,性别)
输入数字2,查看所有学生信息
输入数字3,查看指定学生信息
输入数字4,修改学生信息
输入数字5,删除指定学生
输入数字0,退出系统"""

while True:
    print(menu)
    option = input("输入数字,选择对应的选项")
    if option not in [str(i) for i in range(6)]:
        print(f"输入不合法,请输入指定的数字")
    else:
        if option == "0":
            break
        elif option == "1":
            while True:
                sid = 101 if not students else students[-1]["id"] + 1
                while True:
                    name = input("请输入姓名")
                    if 2 <= len(name) <= 4:
                        break
                    else:
                        print(f"名字不合法,长度2-4个字符")
                while True:
                    age = int(input("输入年纪"))
                    if 15 <= age <= 25:
                        break
                    else:
                        print(f"年纪不合法, 范围15-25")
                while True:
                    sex = input("请输入性别")
                    if sex in ["男", "女"]:
                        break
                    else:
                        print(f"性别不合法,只能输入男、女")
                s = {
                    "id": sid,
                    "name": name,
                    "age": age,
                    "sex": sex
                }
                students.append(s)
                print(f"添加学生成功, 现有学生 {len(students)} 人")

                while True:
                    sub_option = input("输入数字,选择对应的选项。Y(继续添加)  N(返回)")
                    if sub_option not in ["Y", "y", "N", "n"]:
                        print(f"输入不合法,只能输入Y、N")
                    else:
                        break
                if sub_option == "Y" or sub_option == "y":
                    pass
                elif sub_option == "N" or sub_option == "n":
                    break
        elif option == "2":
            if not students:
                print(f"还没有添加学生信息")
            else:
                for s in students:
                    print(f"id:{s.get('id')}\tname:{s.get('name')}\tage:{s.get('age')}\tsex:{s.get('sex')}")
        elif option == "3":
            while True:
                sid = int(input("输入要查看学生的id"))
                for s in students:
                    if sid == s.get("id"):
                        print(f"id:{s.get('id')}\tname:{s.get('name')}\tage:{s.get('age')}\tsex:{s.get('sex')}")
                        break
                else:
                    print(f"没有找到id为{sid}的学生")
                while True:
                    sub_option = input("输入数字,选择对应的选项。Y(继续查看)  N(返回)")
                    if sub_option not in ["Y", "y", "N", "n"]:
                        print(f"输入不合法,只能输入Y、N")
                    else:
                        break
                if sub_option == "Y" or sub_option == "y":
                    pass
                elif sub_option == "N" or sub_option == "n":
                    break
        elif option == "4":
            while True:
                sid = int(input("输入要修改学生的id"))
                for s in students:
                    if sid == s.get("id"):
                        while True:
                            name = input("请输入姓名")
                            if 2 <= len(name) <= 4:
                                break
                            else:
                                print(f"名字不合法,长度2-4个字符")
                        while True:
                            age = int(input("输入年纪"))
                            if 15 <= age <= 25:
                                break
                            else:
                                print(f"年纪不合法, 范围15-25")
                        while True:
                            sex = input("请输入性别")
                            if sex in ["男", "女"]:
                                break
                            else:
                                print(f"性别不合法,只能输入男、女")
                        s['name'] = name
                        s['age'] = age
                        s['sex'] = sex
                        print(f"修改成功")
                        break
                else:
                    print(f"没有找到id为{sid}的学生")
                while True:
                    sub_option = input("输入数字,选择对应的选项。Y(继续修改)  N(返回)")
                    if sub_option not in ["Y", "y", "N", "n"]:
                        print(f"输入不合法,只能输入Y、N")
                    else:
                        break
                if sub_option == "Y" or sub_option == "y":
                    pass
                elif sub_option == "N" or sub_option == "n":
                    break
        elif option == "5":
            while True:
                sid = int(input("输入要删除学生的id"))
                for s in students:
                    if sid == s.get("id"):
                        students.remove(s)
                        print(f"删除成功 现有学生 {len(students)} 人")
                        break
                else:
                    print(f"没有找到id为{sid}的学生")
                while True:
                    sub_option = input("输入数字,选择对应的选项。Y(继续删除)  N(返回)")
                    if sub_option not in ["Y", "y", "N", "n"]:
                        print(f"输入不合法,只能输入Y、N")
                    else:
                        break
                if sub_option == "Y" or sub_option == "y":
                    pass
                elif sub_option == "N" or sub_option == "n":
                    break

标签:数字,管理系统,改查,信息,学生,增删,id,输入,option
From: https://blog.csdn.net/zhangzhaoyuxunlei/article/details/140444895

相关文章

  • 【java计算机毕设】网上购书管理系统MySQL servlet JSP项目设计源代码 期末寒暑假作业
    目录1项目功能2项目介绍3项目地址1项目功能【java计算机毕设】网上购书管理系统MySQLservletJSP项目设计源代码期末寒暑假作业小组作业 2项目介绍系统功能:servlet网上购书管理系统包括管理员、用户两种角色。管理员功能包括订单管理(已处理,未处理),顾客管理(添......
  • 基于java+springboot+vue实现的实验室管理系统(文末源码+Lw)127
    基于SpringBoot+Vue的实现的实验室管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)系统功能:实验室管理系统管理员功能有个人中心,学生管理,教师管理,公告信息管理,知识库管理,实验课程管理,实验室信息管理,实验室预约管理,实验设备管理,采购记录管理,维修记录管理......
  • 基于java+springboot+vue实现的中药实验管理系统(文末源码+Lw)124
    基于SpringBoot+Vue的实现的中药实验管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+开题报告+演示视频+软件包)系统功能:本中药实验管理系统有管理员,教师,学生,实验员。管理员功能有个人中心,学生管理,教师管理,实验员管理,实验教学管理,在线学习管理,实验信息管理,实验预约管理,实......
  • 基于java+springboot+vue实现的中小企业人事管理系统(文末源码+Lw)128
     基于SpringBoot+Vue的实现的中小企业人事管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+ppt+演示视频+软件包)系统角色:员工、管理员系统功能:管理员登录进入中小企业人事管理系统可以查看首页、个人中心、员工管理、部门信息管理、职位信息管理、福利信息管理、培......
  • 基于java+springboot+vue实现的实验室管理系统(文末源码+Lw)127
     基于SpringBoot+Vue的实现的实验室管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)系统功能:实验室管理系统管理员功能有个人中心,学生管理,教师管理,公告信息管理,知识库管理,实验课程管理,实验室信息管理,实验室预约管理,实验设备管理,采购记录管理,维修记录......
  • 基于Java+SpringBoot+Vue的学生评奖评优管理系统的设计与开发(源码+lw+部署文档+讲解
    文章目录前言项目背景介绍技术栈后端框架SpringBoot前端框架Vue数据库MySQL(MyStructuredQueryLanguage)具体实现截图详细视频演示系统测试系统测试目的系统功能测试系统测试结论代码参考数据库参考源码获取前言......
  • [附开题]flask框架web的酒店管理系统4yv4w(源码+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展和商务活动的日益频繁,酒店行业迎来了前所未有的发展机遇与挑战。传统的人工管理模式已难以满足现代酒店对高效、精准......
  • [附开题]flask框架Web的汽车配件管理系统的设计与实现zt81o(源码+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着汽车行业的快速发展,汽车配件市场日益繁荣,配件种类繁多,管理难度也随之增加。传统的手工管理模式已难以满足现代汽车配件企业的管理需求......
  • 基于SSM的校园志愿者管理系统小程序+99213(免费领源码)可做计算机毕业设计JAVA、PHP、爬
    小程序+springboot校园志愿者管理系统摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,校园志愿者管理系统被用户普遍使用,为方便用户能够可以随时进行在线查看校园志愿......
  • springboot+vue+mybatis物业管理系统+PPT+论文+讲解+售后
    首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本......