美文网首页
学生管理系统

学生管理系统

作者: 晓晓的忍儿 | 来源:发表于2018-07-24 20:58 被阅读0次
    '''
    1.分析数据结构
    学生管理系统管理系统----->管理的是多个学生--->需要容器存储学生--->考虑使用那种容器
    ---->列表?字典?---->系统对应的大的容器是字典--->字典转给你的某一个key对应的值是所有的
    学生(列表)---->每个学生是一个字典
    {'students':[学生1(字典),学生2,学生3...]}
    '''
    
    # 声明所有的key值
    key_all_student='students'# 所有学生
    key_name='name'
    key_age='age'
    key_tel='tel'
    key_id='id'
    # 当前已经添加过的学生
    num=0
    # 系统容器
    system_info={}
    list1=[]
    # 1.显示界面
    while True:
        print('==========================')
        print('欢迎进入XXX学生管理系统')
        print('1.添加学生\n2.查看学生\n3.删除学生\n4.修改学生信息\n0.退出')
        print('==========================')
        input_value=input('请输入:')
        # ============退出系统===========
        if input_value=='0':
            break
        # ============添加学生============
        if input_value=='1':
            while True:
                num+=1
                print('添加学生')
                add_name=input('姓名:')
                add_age=input('年龄:')
                add_tel=input('电话:')
                # 产生学号
                add_id='py1805'+str(num).rjust(3,'0')
                #创建一个学生(一个学生就是一个字典)
                add_student={key_name:add_name,key_age:add_age,key_tel:add_tel,key_id:add_id}
                # 获取存学生的容器
                all_student=system_info.get(key_all_student)
                if all_student==None:
                    all_student=[]
                # 添加学生
                all_student.append(add_student)
                system_info[key_all_student]=all_student
                print('添加学生%s成功'%(add_name))
                print(system_info)
                print('1.继续添加\n其他:返回上一层')
                add_input=input('>>>')
                if add_input!='1':
                    break
                else:
                    continue
            continue
    
        # ============查看学生============
        if input_value=='2':
            print('查看学生')
            print('1.查看所有的学生信息')
            print('2.根据学生姓名查看学生信息')
            print('3.根据学生学号查看学生信息')
            print('4.返回上一层')
            find_input=input('>>>')
            if find_input=='4':
                continue
            '''拿到所有的学生'''
            all_students = system_info.get(key_all_student)
            '''系统还没有添加过学生'''
            # or 和and的短路操作
            if (not all_students) or (not len(all_student)):
                print('系统中没有学生')
                continue
            # 查看所有学生信息
            if find_input=='1':
                '''有学生的时候'''
                for student in all_students:
                    print('姓名:%s,年龄:%s,电话:%s,学号:%s'%\
                          (student[key_name],student[key_age],student[key_tel],\
                           student[key_id]))
            # 根据学生姓名查找
            elif find_input=='2':
                find_name=input('请输入要查看的学生的名字')
                flag=True#是否找不到学生
                for student in all_students:
                    if find_name==student[key_name]:
                        print('姓名:%s,年龄:%s,电话:%s,学号:%s' % \
                              (student[key_name], student[key_age], student[key_tel], \
                               student[key_id]))
                        flag=False
                if flag:
                    print('找不到该学生信息')
            # 根据学生学号查找
            elif find_input=='3':
                find_id = input('请输入要查看的学生的id')
                flag=True
                for student in all_students:
                    if find_id == student[key_id]:
                        print('姓名:%s,年龄:%s,电话:%s,学号:%s' % \
                              (student[key_name], student[key_age], student[key_tel], \
                               student[key_id]))
                        flag=False
                if flag:
                    print('找不到该学生信息')
            # 返回上一层
            else:
                pass
            continue
        # =============删除学生=============
        if input_value=='3':
            while True:
                print('1.按姓名删除学生')
                print('2.按学号删除学生')
                print('3.返回')
                del_input=input("请输入(1,2,3)")
                if del_input=='3':
                    break
                    # 把所有学生找出来
                all_students = system_info.get(key_all_student)
                if (not all_students) or (not len(all_students)):
                    print('该系统没有学生')
                    break
                if del_input=='1':
                    list2=[]
                    del_name=input('请输入要删除学生的姓名')
                    for student in all_students:
                        if del_name==student[key_name]:
                            # 保存可能要删除的学生
                            list2.append(student)
                    if not len(list2):
                        print('没有找到匹配的学生')
                        continue
                    for x in range(len(list2)):
                        print(x,list2[x])
                    del_num=int(input('请选择要删除的学生的编号:'))
                    del_student=list2[del_num]
                    system_info[key_all_student].remove(del_student)
                if del_input=='2':
                    find_number=input('请输入要删除学生的学号')
                    num=0
                    for student in all_students[:]:
                        if find_number==student[key_id]:
                            all_students.remove(student)
                            num+=1
                    if num==0:
                        print('没有找到匹配的学生')
                        continue
            continue
        # ===========修改学生信息============
        if input_value == '4':
            while True:
                print('1.按姓名修改学生')
                print('2.按学号修改学生')
                print('3.返回')
                all_students=system_info.get(key_all_student)
                if (not all_students) or (not len(all_students)):
                    print('系统没有任何学生信息')
                    break
                input_num=input('请选择查询方式:')
                if input_num=='1':
                    find_name = input('请输入将要修改学生的名字:')
                    list3=[]
                    num8=0
                    for student in all_students:
                        if find_name==student[key_name]:
                            list3.append(student)
                            num8+=1
                    if num8==0:
                        print('没有找到匹配的学生:')
                        continue
                    for x in range(len(list3)):
                        print(x,list3[x])
                    find_num=int(input('请选择要修改的学生:'))
                    while True:
                        find_type=input('请选择要修改的项')
                        values=input('请输入修改内容:')
                        num6=0
                        for student in all_students:
                            if student==list3[find_num]:
                                student[find_type]=values
                                print(all_students)
                                num6+=1
                        break
                        if num6==0:
                            print('没有找到匹配的项')
                            continue
                if input_num=='2':
                    num7=0
                    find_id = input('请输入将要修改学生的学号:')
                    for student in all_students:
                        if student[key_id]==find_id:
                            print('已找到该学生:')
                            update_key=input('请输入修改项:')
                            update_value = input('请输入修改值:')
                            student[update_key]=update_value
                            print(all_students)
                            num7 += 1
                    if num7==0:
                        print('没有找到匹配的学生')
                        continue
                if input_num=='3':
                    break
    
            continue
    
    
    
    
    

    结果:

    D:\Python项目\Day5-练习和列表\code\venv\Scripts\python.exe D:/Python项目/Day7-函数/code/01-学生管理系统.py
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:1
    添加学生
    姓名:we
    年龄:23
    电话:34
    添加学生we成功
    {'students': [{'name': 'we', 'age': '23', 'tel': '34', 'id': 'py1805001'}]}
    1.继续添加
    其他:返回上一层

    1
    添加学生
    姓名:we
    年龄:56
    电话:67
    添加学生we成功
    {'students': [{'name': 'we', 'age': '23', 'tel': '34', 'id': 'py1805001'}, {'name': 'we', 'age': '56', 'tel': '67', 'id': 'py1805002'}]}
    1.继续添加
    其他:返回上一层
    1
    添加学生
    姓名:we
    年龄:89
    电话:90
    添加学生we成功
    {'students': [{'name': 'we', 'age': '23', 'tel': '34', 'id': 'py1805001'}, {'name': 'we', 'age': '56', 'tel': '67', 'id': 'py1805002'}, {'name': 'we', 'age': '89', 'tel': '90', 'id': 'py1805003'}]}
    1.继续添加
    其他:返回上一层
    2
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:2
    查看学生
    1.查看所有的学生信息
    2.根据学生姓名查看学生信息
    3.根据学生学号查看学生信息
    4.返回上一层
    1
    姓名:we,年龄:23,电话:34,学号:py1805001
    姓名:we,年龄:56,电话:67,学号:py1805002
    姓名:we,年龄:89,电话:90,学号:py1805003
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:2
    查看学生
    1.查看所有的学生信息
    2.根据学生姓名查看学生信息
    3.根据学生学号查看学生信息
    4.返回上一层
    2
    请输入要查看的学生的名字we
    姓名:we,年龄:23,电话:34,学号:py1805001
    姓名:we,年龄:56,电话:67,学号:py1805002
    姓名:we,年龄:89,电话:90,学号:py1805003
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:2
    查看学生
    1.查看所有的学生信息
    2.根据学生姓名查看学生信息
    3.根据学生学号查看学生信息
    4.返回上一层
    3
    请输入要查看的学生的idpy1805003
    姓名:we,年龄:89,电话:90,学号:py1805003
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:3
    1.按姓名删除学生
    2.按学号删除学生
    3.返回
    请输入(1,2,3)3
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:4
    1.按姓名修改学生
    2.按学号修改学生
    3.返回
    请选择查询方式:1
    请输入将要修改学生的名字:we
    0 {'name': 'we', 'age': '23', 'tel': '34', 'id': 'py1805001'}
    1 {'name': 'we', 'age': '56', 'tel': '67', 'id': 'py1805002'}
    2 {'name': 'we', 'age': '89', 'tel': '90', 'id': 'py1805003'}
    请选择要修改的学生:0
    请选择要修改的项age
    请输入修改内容:32
    [{'name': 'we', 'age': '32', 'tel': '34', 'id': 'py1805001'}, {'name': 'we', 'age': '56', 'tel': '67', 'id': 'py1805002'}, {'name': 'we', 'age': '89', 'tel': '90', 'id': 'py1805003'}]
    1.按姓名修改学生
    2.按学号修改学生
    3.返回
    请选择查询方式:2
    请输入将要修改学生的学号:py1805002
    已找到该学生:
    请输入修改项:age
    请输入修改值:65
    [{'name': 'we', 'age': '32', 'tel': '34', 'id': 'py1805001'}, {'name': 'we', 'age': '65', 'tel': '67', 'id': 'py1805002'}, {'name': 'we', 'age': '89', 'tel': '90', 'id': 'py1805003'}]
    1.按姓名修改学生
    2.按学号修改学生

    2
    请输入要查看的学生的名字we
    姓名:we,年龄:23,电话:34,学号:py1805001
    姓名:we,年龄:56,电话:67,学号:py1805002
    姓名:we,年龄:89,电话:90,学号:py1805003
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:2
    查看学生
    1.查看所有的学生信息
    2.根据学生姓名查看学生信息
    3.根据学生学号查看学生信息
    4.返回上一层
    >>>3
    请输入要查看的学生的idpy1805003
    姓名:we,年龄:89,电话:90,学号:py1805003
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:3
    1.按姓名删除学生
    2.按学号删除学生
    3.返回
    请输入(1,2,3)3
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:4
    1.按姓名修改学生
    2.按学号修改学生
    3.返回
    请选择查询方式:1
    请输入将要修改学生的名字:we
    0 {'name': 'we', 'age': '23', 'tel': '34', 'id': 'py1805001'}
    1 {'name': 'we', 'age': '56', 'tel': '67', 'id': 'py1805002'}
    2 {'name': 'we', 'age': '89', 'tel': '90', 'id': 'py1805003'}
    请选择要修改的学生:0
    请选择要修改的项age
    请输入修改内容:32
    [{'name': 'we', 'age': '32', 'tel': '34', 'id': 'py1805001'}, {'name': 'we', 'age': '56', 'tel': '67', 'id': 'py1805002'}, {'name': 'we', 'age': '89', 'tel': '90', 'id': 'py1805003'}]
    1.按姓名修改学生
    2.按学号修改学生
    3.返回
    请选择查询方式:2
    请输入将要修改学生的学号:py1805002
    已找到该学生:
    请输入修改项:age
    请输入修改值:65
    [{'name': 'we', 'age': '32', 'tel': '34', 'id': 'py1805001'}, {'name': 'we', 'age': '65', 'tel': '67', 'id': 'py1805002'}, {'name': 'we', 'age': '89', 'tel': '90', 'id': 'py1805003'}]
    1.按姓名修改学生
    2.按学号修改学生
    3.返回
    请选择查询方式:3
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:3
    1.按姓名删除学生
    2.按学号删除学生
    3.返回
    请输入(1,2,3)1
    请输入要删除学生的姓名we
    0 {'name': 'we', 'age': '32', 'tel': '34', 'id': 'py1805001'}
    1 {'name': 'we', 'age': '65', 'tel': '67', 'id': 'py1805002'}
    2 {'name': 'we', 'age': '89', 'tel': '90', 'id': 'py1805003'}
    请选择要删除的学生的编号:0
    1.按姓名删除学生
    2.按学号删除学生
    3.返回
    请输入(1,2,3)2
    请输入要删除学生的学号py1805003
    1.按姓名删除学生
    2.按学号删除学生
    3.返回
    请输入(1,2,3)
    1.按姓名删除学生
    2.按学号删除学生
    3.返回
    请输入(1,2,3)3
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:2
    查看学生
    1.查看所有的学生信息
    2.根据学生姓名查看学生信息
    3.根据学生学号查看学生信息
    4.返回上一层
    1
    姓名:we,年龄:65,电话:67,学号:py1805002
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:0

    Process finished with exit code 0

    相关文章

      网友评论

          本文标题:学生管理系统

          本文链接:https://www.haomeiwen.com/subject/pcoymftx.html