学生管理系统(简易版)

#创建学生储存的列表
students = []

def addTo():
    '''
    根据姓名、学号、年龄添加学员信息
    '''

    #学生要输入的信息
    stuName = input("请输入学生姓名: ")
    stuId = input("请输入学生学号: ")
    stuAge = input("请输入学生年龄: ")
    
    #定义一个字典,存放单个学生信息
    stuInfo = {}
    stuInfo["stuName"] = stuName
    stuInfo["stuId"] = stuId
    stuInfo["stuAge"] = stuAge

    #将单个学生信息放入列表
    students.append(stuInfo)
    print("添加学员%s成功!" % stuName)
    print(students)


def deleteStu():
    '''
    根据学号、姓名、年龄删除学员
    '''
    #选择你要删除的方式
    delCaiDan = int(input("1[学号] 2[姓名] 3[年龄] 0[清除所有]: "))
    
    #学号方式
    if delCaiDan == 1:
        #输入删除的学员Id
        delId = input("请你输入要删除的学号: ")
        #遍历列表中的字典
        for stu in students:
            #判断用户输入的Id号是否与列表中的值相等
            if stu["stuId"] == delId:
                #删除字典
                students.remove(stu)
                #提示删除信息,并显示列表中确实被删除
                print("成功学号删除!")
                print(students)

    #姓名方式
    elif delCaiDan == 2:

        #输入删除的学员名字
        delName = input("请你输入要删除的学员姓名: ")
        #遍历列表中的字典
        for stu in students: 
            #判断用户输入的Id号是否与列表中的值相等
            if stu["stuName"] == delName:
                #删除字典
                students.remove(stu)               
                #提示删除信息,并显示列表中确实被删除
                print("成功姓名删除!")
                print(students)

    #年龄方式
    elif delCaiDan == 3:

        #输入删除的学员名字
        delAge = input("请你输入要删除的学员年龄: ")       
        #遍历列表中的字典
        for stu in students:           
            #判断用户输入的Id号是否与列表中的值相等
            if stu["stuAge"] == delAge:
                #删除字典
                students.remove(stu)                
                #提示删除信息,并显示列表中确实被删除
                print("成功年龄删除!")
                print(students)        

    #清除所有信息
    elif delCaiDan == 0:
        students.clear()
        print("删除所有信息成功")
    
    else:
        if delCaiDan > 3:
            print("你输入的删除选项有误,请从新输入")


def modifyStu():
    '''
    根据学号、姓名、年龄修改学员
    '''
    #选择你要修改的方式
    modifyCaiDan = int(input("1[学号] 2[姓名] 3[年龄]: "))

    #学号方式
    if modifyCaiDan == 1:
        
        #输入你要修改的学号
        updateId = input("请输入你要修改的学号: ")
        
        #遍历列表中的字典
        for stu in students:            
            #判断用户输入学号在列表中
            if stu["stuId"] == updateId:
                #修改字典
                updateStuId = input("请输入修改后的学号: ")
                stu["stuId"] = updateStuId 
                #提示修改信息,并显示列表中确实被修改
                print("修改学号成功!")
                print(students)    

    #姓名方式
    elif modifyCaiDan == 2:

        #输入你要修改的名字
        updateName = input("请输入你要修改的姓名: ")
        
        #遍历列表中的字典
        for stu in students:            
            #判断用户输入姓名在列表中
            if stu["stuName"] == updateName:
                #修改字典
                updateStuName = input("请输入修改后的姓名: ")
                stu["stuName"] = updateStuName 
                #提示修改信息,并显示列表中确实被修改
                print("修改姓名成功!")
                print(students)   

    #年龄方式
    elif modifyCaiDan == 3:

        #输入你要修改的年龄
        updateAge = input("请输入你要修改的年龄: ")
        
        #遍历列表中的字典
        for stu in students:            
            #判断用户输入的年龄在列表中
            if stu["stuAge"] == updateAge:
                #修改字典
                updateStuAge = input("请输入修改后的年龄: ")
                stu["stuAge"] = updateStuAge 
                #提示修改信息,并显示列表中确实被修改
                print("修改姓名成功!")
                print(students)
    
    else:
        if modifyCaiDan > 3:
            print("你输入的修改选项有误,请重新输入")


def queryStu():
    '''
    根据学号、姓名、年龄查找学员
    '''
    #选择你要查询的方式
    modifyCaiDan = int(input("1[学号] 2[姓名] 3[年龄] 0[查询所有] "))

    #学号方式查询
    if modifyCaiDan == 1:
        
        #获取要查询学员的学号
        showStuId = input("请输入要查询的学号: ")

        #储存根据学号查询的学员
        queryStuId = []

        #遍历学员列表,找寻要查询的学号
        for stu in students:
            if stu["stuId"] == showStuId:
                #遍历找到的学号,储存到保存的列表中
                queryStuId.append(stu)

        #打印学员列表
        for i, s in enumerate(queryStuId):
            print(i, s)

    #姓名方式查询
    elif modifyCaiDan == 2:

        #获取要查询学员的姓名
        showStuName = input("请输入要查询的姓名: ")

        #储存根据年龄查询的学员
        queryStuName = []

        #遍历学员列表,找寻要查询的姓名
        for stu in students:
            if stu["stuName"] == showStuName:
                #遍历找到的学号,储存到保存的列表中
                queryStuName.append(stu)

        #打印学员列表
        for i, s in enumerate(queryStuName):
            print(i, s)

    #年龄方式查询
    elif modifyCaiDan == 3:

        #获取要查询学员的年龄
        showStuAge = input("请输入要查询的年龄: ")

        #储存根据年龄查询的学员
        queryStuAge = []

        #遍历学员列表,找寻要查询的年龄
        for stu in students:
            if stu["stuAge"] == showStuAge:
                #遍历找到的年龄,储存到保存的列表中
                queryStuAge.append(stu)

        #打印学员列表
        for i, s in enumerate(queryStuAge):
            print(i, s)
    
    #查看列表中的所有学员信息
    elif modifyCaiDan == 0:
        for i, s in enumerate(students):
            print(i, s)

    else:
        if modifyCaiDan > 3:
            print("你输入的查找的选项有误,请重新输入")


def showInfo():
    '''
        功能的选项
    '''
    print("=" * 50)
    print("||""\t\t\t\t\t\t""||")
    print("||""\t\t【学生管理系统】\t\t""||")
    print("||""\t\t\t\t\t\t""||")
    print("=" * 50)

    print("菜单功能如下: ")
    print("")
    print("\t【1】添加")
    print("\t【2】删除")
    print("\t【3】修改")
    print("\t【4】查找")
    print("\t【5】退出")


#死循环
while True:
    showInfo()
    stuKey = int(input("请输入要选择的功能: "))

    #添加功能
    if stuKey == 1:

        #调用添加信息的函数
        addTo()
    
    #删除功能
    elif stuKey == 2:

        #调用删除信息的函数
        deleteStu()

    #修改功能
    elif stuKey == 3:
        modifyStu()

    #查找功能
    elif stuKey == 4:
        queryStu()

    #退出功能
    elif stuKey == 5:
        print("退出学生系统, 欢迎下次使用")
        break
    
    #其他的可能性
    else:
        if stuKey > 5:
            print("你输入的有误,请从新输入你要选择的功能") 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值