无保存文件功能 学生管理系统

本文介绍了一个学生管理系统的实现,包括用户登录、添加、删除、修改和查询学生信息等功能。系统通过列表存储学生数据,并提供菜单供用户操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#定义一个函数,显示可以使用的功能列表给用户
def showInfo():
    print("-"*30)
    print("     学生管理系统  ")
    print(" 1.添加学生的信息")
    print(" 2.删除学生的信息")
    print(" 3.修改学生的信息")
    print(" 4.查询学生的信息")
    print(" 5.遍历所有学生的信息")
    print(" 0.退出系统")
    print( '-'*30) 
#定义一个列表,用来存储多个学生的信息
students=[]
users=[]
 
while True:
    print("添加用户:")
    userId = input("请输入用户名(用户名不可重复):")
    password1 = input("请输入用户密码:")
    password2 = input("请再次输入密码:")
    #验证用户名是否唯一
    i = 0
    leap = 0
    for user in users:
        if user['userId'] == userId:
            leap = 1
            break
        else:
            i = i + 1
    if leap == 1:
        print("输入用户名重复,添加失败!")
    elif password1 !=password2:
        print("两次密码输入不相同,添加失败!") 
    else:
        # 定义一个字典,存放单个用户信息
        userInfo = {}
        userInfo['userId'] = userId
        userInfo['password'] = password1
        # 单个用户信息放入列表
        users.append(userInfo)
        print("添加成功!")
    print("未登录,请先登录!")
    user1=input("请输入用户名:")
    #检测是否有此用户,然后进行修改信息
    i = 0
    leap = 0
    for user in users:
        if user['userId'] == user1:
            leap = 1
            break
        else:
            i = i + 1
    if leap == 1:
        password1 = input("用户存在,请输入用户密码:")
        if user['password'] != password1:
            print("密码错误,登陆失败!")
            a=0
        else:
            print("密码正确,登陆成功!")
            a=1
    while a==1:
        
            #把功能列表进行显示给用户
            showInfo()
            #提示用户选择功能
            #获取用户选择的功能
            key = int(input("请选择功能(序号):"))
            #根据用户选择,完成相应功能
            if key == 1:
                print("添加学生信息:")
                stuName = input("请输入学生姓名:")
                stuId = input("请输入学生学号(学号不可重复):")
                stuClass = input("请输入学生班级:")
                #验证学号是否唯一
                i = 0
                leap = 0
                for stu in students:
                    if stu['stuId'] == stuId:
                        leap = 1
                        break
                    else:
                        i = i + 1
                if leap == 1:
                    print("输入学生学号重复,添加失败!")
                else:
                    # 定义一个字典,存放单个学生信息
                    stuInfo = {}
                    stuInfo['stuName'] = stuName
                    stuInfo['stuId'] = stuId
                    stuInfo['stuClass'] = stuClass
                    # 单个学生信息放入列表
                    students.append(stuInfo)
                    print("添加成功!")
            elif key == 2:
                print("准备删除学生信息:")
                delId=input("请输入要删除的学生学号:")
                #i记录要删除的下标,leap为标志位,如果找到leap=1,否则为0
                i = 0
                leap = 0
                for stu in students:
                    if stu['stuId'] == delId:
                        leap = 1
                        break
                    else:
                        i=i+1
                if leap == 0:
                    print("没有此学生学号,删除失败!")
                else:
                    del students[i]
                    print("删除成功!")

            elif key == 3:
                print("正在修改学生信息:")
                alterId=input("请输入你要修改学生的学号:")
                #检测是否有此学号,然后进行修改信息
                i = 0
                leap = 0
                for stu in students:
                    if stu['stuId'] == alterId:
                        leap = 1
                        break
                    else:
                        i = i + 1
                if leap == 1:
                    while True:
                        alterNum=int(input(" 1.修改学号\n 2.修改姓名 \n 3.修改班级 \n 4.退出修改\n"))
                        if alterNum == 1:
                            newId=input("输入更改后的学号:")
                            #修改后的学号要验证是否唯一
                            i = 0
                            leap1 = 0
                            for stu1 in students:
                                if stu1['stuId'] == newId:
                                    leap1 = 1
                                    break
                                else:
                                    i = i + 1
                            if leap1 == 1:
                                print("输入学号不可重复,修改失败!")
                            else:
                                stu['stuId']=newId
                                print("学号修改成功")

                        elif alterNum == 2:
                            newName=input("输入更改后的姓名:")
                            stu['stuName'] = newName
                            print("姓名修改成功")

                        elif alterNum == 3:
                            newClass=input("输入更改后的班级:")
                            stu['stuClass'] = newClass
                            print("班级修改成功")

                        elif alterNum == 4:
                            break
                        else:
                            print("输入错误请重新输入")
                else:
                    print("没有此学号,修改失败!")

            elif key == 4:
                print("正在查询学生信息:")
                searchID=input("请输入你要查询学生的学号:")
                #验证是否有此学号
                i = 0
                leap = 0
                for stu in students:
                    if stu['stuId'] == searchID:
                        leap = 1
                        break
                    else:
                        i = i + 1
                if leap == 0:
                    print("没有此学生学号,查询失败!")
                else:
                    print("找到此学生,信息如下:")
                    print("学号:%s   姓名:%s   班级:%s\n"%(stu['stuId'],stu['stuName'],stu['stuClass']))
                        
            elif key == 5:
                #遍历并输出所有学生的信息
                print('*'*30)
                print("接下来进行遍历所有的学生信息...")
                print("学 号     姓 名     班 级")
                for stu in students:
                    print("  %s         %s        %s"%(stu['stuId'],stu['stuName'],stu['stuClass']))
                print("*"*30)

            elif key == 0:
                #退出功能,尽量往不退出的方向引
                quitconfirm = input("真的要退出吗 (yes或者no)")
                if quitconfirm == 'yes':
                    print("欢迎使用本系统,再见")
                    break;
            else:
                print("您输入有误,请重新输入")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值