python--学生管理系统案列

  1. 编写一个程序,模拟一个简单的学生管理系统。要求用户可以添加学生信息,查看学生列表和每个学生的信息,删除学生信息等操作。使用字典实现,键为学生的姓名,值为一个包含学生信息的字典(包括学号、班级、成绩等)。

****************************** 欢迎使用学生管理系统 ******************************

  1. 添加学生 2. 查看学生列表 3. 查看学生信息 4. 删除学生 5. 退出系统

1

请输入学生姓名: zhangsan

请输入学生学号: 10010

请输入学生班级: 3

请输入学生成绩: 99

添加成功!

  1. 添加学生 2. 查看学生列表 3. 查看学生信息 4. 删除学生 5. 退出系统

2

zhangsan

  1. 添加学生 2. 查看学生列表 3. 查看学生信息 4. 删除学生 5. 退出系统

3

请输入学生姓名: zhangsan

姓名: zhangsan,学号: 10010,班级: 3,成绩: 99

  1. 添加学生 2. 查看学生列表 3. 查看学生信息 4. 删除学生 5. 退出系统

3

请输入学生姓名: lisi

学生不存在!

  1. 添加学生 2. 查看学生列表 3. 查看学生信息 4. 删除学生 5. 退出系统

4

请输入学生姓名: zhangsan

删除成功!

python 复制代码
# 用字典
if __name__ == '__main__':
    print("******************欢迎使用东湖学生管理系统********************")
    initStuDict = {}   # 存放学生信息
    while True:
        print("1. 添加学生    2. 查看学生列表    3. 查看学生信息    4. 删除学生     5. 退出系统")
        num = int(input("请输入您的操作(1-5): "))
        match num:
            case 1:
                name = input("请输入学生姓名: ")
                id = input("请输入学生学号: ")
                class_ = input("请输入学生班级: ")
                score = input("请输入学生成绩: ")
                initStuDict[name] = {"学号": id, "班级": class_, "成绩": score}
                print("添加成功!")

            case 2:
                print("学生列表如下: ")
                for key, value in initStuDict.items():
                    print(key)

            case 3:
                name = input("请输入学生姓名: ")
                if name in initStuDict:
                    print(f"姓名: {name},学号: {initStuDict[name]['学号']},班级: {initStuDict[name]['班级']},成绩: {initStuDict[name]['成绩']}")
                else:
                    print("学生不存在!")

            case 4:
                name = input("请输入学生姓名: ")
                if name in initStuDict:
                    initStuDict.pop(name)
                    print("删除成功!")
                else:
                    print("学生不存在!")

            case 5:
                exit(0)

另一种方法:

python 复制代码
class Student:
    def __init__(self, name, sno,clazz, score):
        self.name = name
        self.sno = sno
        self.clazz = clazz
        self.score = score

    def __repr__(self):
        return self.name+","+self.sno+","+self.clazz+","+str(self.score)

if __name__ == '__main__':

    print("******************欢迎使用东湖学生管理系统********************")
    initStuList = [] # 存放学生信息
    while True:

        print("1.添加学生\t2.查看学生列表\t3.查看学生信息\t4.删除学生\t5.退出系统")
        num = input("请输入您的操作(1-5):")
        match num:
            case "1":

                name=input("请输入学生姓名")
                sno=input("请输入学生学号")
                clazz=input("请输入学生班级")
                score=int(input("请输入学生成绩"))

                stu = Student(name,sno,clazz,score)

                initStuList.append(stu)
                print("添加学生信息成功")
            case "2":
                print("学生列表如下:")
                for stu in initStuList:
                    print(stu)
            case "3":
                name = input("请输入您要查找的学生的姓名:")

                stu = None
                for stuItem in initStuList:
                    if stuItem.name == name:
                        stu = stuItem
                        break
                if stu is None:
                    print("该学生不存在")
                else:
                    print(stu)

            case "4":
                name = input("请输入您要删除的学生的姓名:")
                stu = None
                for stuItem in initStuList:
                    if stuItem.name == name:
                        stu = stuItem
                        break
                if stu is None:
                    print("该学生不存在")
                else:
                    initStuList.remove(stu)
                    print("删除成功")
            case "5":
                exit(0)
相关推荐
小七-七牛开发者11 分钟前
让 Go 走得更远:用 LLGo 打通 Go 与 C/C++/Python 生态
python·编程·编译器·llvm·llgo
CyrusYiVPP1 小时前
实测 Ollama 本地部署:我用 Python 搓了个离线问答机器人,Qwen4 27B 一到换个模型名就能用
人工智能·python
2601_967980112 小时前
Python中flatten( )函数及函数用法详解
python·numpy·数组操作·flatten函数·列表处理
xbzb2 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
合尘猫5 小时前
图片表格变结构化数据:OCR 后的三个坑
python·ocr
小小张说故事5 小时前
Python 里弱引用到底弱在哪:拆开 weakref.ref、回调陷阱和 WeakValueDictionary
python
用户019027581616 小时前
用 DuckDB 存查 A 股 K 线:零服务、SQL 直接分析
python
程序员果子7 小时前
本体构建方法
人工智能·python·知识图谱·agent框架·本体
天天被压力8 小时前
【A股分钟级高频数据完全手册 #11】券商实时行情数据接口:实时交易(券商源)接入与字段
java·人工智能·python
总裁余(余登武)8 小时前
【python项目】:1操作EXCEl自动化开发
python·自动化·excel