美文网首页
学生管理系统临时

学生管理系统临时

作者: 晓晓的忍儿 | 来源:发表于2018-07-27 02:16 被阅读0次
    '''__author__==fubo'''
    
    '''
    
    
    
    '''
    def student_boundary():
        print('==========================')
        print('欢迎进入XXX学生管理系统')
        print('1.添加学生\n2.查看学生\n3.删除学生\n4.修改学生信息\n0.退出')
        print('==========================')
        mul1=input_value = input('请输入:')
        return mul1
    
    
    
    
    def manage_list(name,password):
        list1 = []  # 管理员列表
        dict2 = {}  # 管理员信息字典
        dict2['name'] = name
        dict2['password'] = password
        list1.append(dict2)
        return list1
    def manage_list2(name,id,age,tel):
        list1 = []  # 管理员列表
        dict2 = {}  # 管理员信息字典
        dict2['student_name'] = name
        dict2['student_id'] = id
        dict2['student_age'] = age
        dict2['student_tel'] = tel
        list1.append(dict2)
        return list1
    import doc
    if __name__ == '__main__':
        print('***********************************')
        print('1.登录')
        print('2.注册')
        print('3.退出')
        print('***********************************')
        # 模块1 manage管理 列表 字典
        num1=input('请选择操作:')
        flage=False
        flage1= False
        flage2=False
        while True:
            if num1=='1':
                print('请登录')
                user_name=input('请输入姓名:')
                password= input('请输入密码:')
                try:
                    dict1 = doc.json_r_doc('./files/manage.json')
                    dict1=doc.json_loads_doc(dict1)
                    num2=0
                    for item in dict1['all_manage']:
                        if item['name']==user_name and item['password']==password:
                            print('登录成功')
                            num2=0
                            flage=True
                            break
                        if item['name'] != user_name :
                            num2 += 1
                    if num2 == len(dict1['all_manage']):
                        print('系统没有该用户,请注册')
                        num1 = input('>>>')
                    elif num2!=0:
                        print('登录有误,请重新登录')
                        num1 = '1'
                        continue
                    elif num2==0:
                        break
                except:
                    print('该用户不存在,请注册')
                    num1=2
                    # global flage1
                    flage1 = True  #判断管理字典为空
                    num1 = input('同意注册请输入2,重新登录请输入1')
                    continue
            if num1 == '2':
                try:
                    dict1 = doc.json_r_doc('./files/manage.json')
                    flage1=False
                except:
                    flage1=True
                if flage1 :
                    print('感谢您第一个登录')
                    name=input('请输入姓名:')
                    password=input('请输入密码:')
                    # global dict1
                    dict1 = {}  # 最外层字典
                    dict1['all_manage']=manage_list(name,password)
                    doc.json_w_doc('./files/manage.json', doc.json_dumps_doc(dict1))
                    flage1=False
                    num1=input('>>>')
                    continue
                else:
                    print("请注册")
                    name = input('请输入姓名:')
                    password = input('请输入密码:')
                    dict1 = doc.json_r_doc('./files/manage.json')
                    dict2 = {}  # 管理员信息字典
                    dict2['name'] = name
                    dict2['password'] = password
                    dict1=doc.json_loads_doc(dict1)
                    dict1['all_manage'].append(dict2)
                    doc.json_w_doc('./files/manage.json', doc.json_dumps_doc(dict1))
                    num1 = input('>>>')
                    continue
            if num1 == '3':
                print('操作结束,欢迎下次登录')
                flage=False
                break
        num4=0
        while flage:
            try:
                dict3 = doc.json_r_doc('./files/student.json')
                num3 = 1
            except:
                num3 = 0
            mul1 = student_boundary()
            if flage2:
                print('欢迎下次登录')
                break
            while True:
                if mul1=='0':
                    flage2=True
                    break
                if mul1=='1':
                    num4+=1
                    if num3==0:
                        print("学生管理系统为空,请输入学生信息")
                        dict3={}
                        add_name = input('姓名:')
                        add_age = input('年龄:')
                        add_tel = input('电话:')
                        # 产生学号
                        add_id = 'py1805' + str(num4).rjust(3, '0')
                        dict3['all_student']=manage_list2(add_name,add_id,add_age,add_tel)
                        doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                        print('添加成功')
                        num3=1
                        print('1.继续添加')
                        print('2.返回首页')
                        mul5 = input('>>>')
                        if mul5 == '1':
                            mul1 = '1'
                            continue
                        elif mul5 == '2':
                            break
                        else:
                            print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
                            mul6 = input('希望留在添加页面请输入1,返回首页请输入2:')
                            if mul6 == '1':
                                mul1 = '1'
                                continue
                            elif mul6 == '2':
                                break
                            else:
                                mul1 = '0'
                                continue
                    else:
                        print('添加学生:')
                        dict4={}
                        add_name = input('姓名:')
                        add_age = input('年龄:')
                        add_tel = input('电话:')
                        # 产生学号
                        add_id = 'py1805' + str(num4).rjust(3, '0')
                        num4+=1
                        dict3 = doc.json_loads_doc(dict3)
                        dict4['student_name'] = add_name
                        dict4['student_id'] = add_id
                        dict4['student_age'] = add_age
                        dict4['student_tel'] = add_tel
                        dict3['all_student'].append(dict4)
                        dict3=doc.json_dumps_doc(dict3)
                        doc.json_w_doc('./files/student.json', dict3)
                        print('添加成功')
                        print('1.继续添加')
                        print('2.返回首页')
                        mul5 = input('>>>')
                        if mul5 == '1':
                            mul1 = '1'
                            continue
                        elif mul5 == '2':
                            break
                        else:
                            print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
                            mul6 = input('希望留在添加页面请输入1,返回首页请输入2:')
                            if mul6 == '1':
                                mul1 = '1'
                                continue
                            elif mul6 == '2':
                                break
                            else:
                                mul1 = '0'
                                continue
                if mul1 == '2':
                    print('查看学生')
                    print('1.查看所有的学生信息')
                    print('2.根据学生姓名查看学生信息')
                    print('3.根据学生学号查看学生信息')
                    print('4.返回上一层')
                    find_input = input('>>>')
                    if find_input == '4':
                        break
                    '''拿到所有的学生'''
                    dict3 = doc.json_r_doc('./files/student.json')
                    dict3=doc.json_loads_doc(dict3)
                    all_students =dict3['all_student']
                    '''系统还没有添加过学生'''
                    # or 和and的短路操作
                    if (not all_students) or (not len(all_students)):
                        print('系统中没有学生')
                        continue
                    # 查看所有学生信息
                    if find_input == '1':
                        '''有学生的时候'''
                        for student in all_students:
                            print('姓名:%s,年龄:%s,电话:%s,学号:%s' % \
                                  (student['student_name'], student['student_age'], student['student_tel'], \
                                   student['student_id']))
                    # 根据学生姓名查找
                    elif find_input == '2':
                        find_name = input('请输入要查看的学生的名字')
                        flag = True  # 是否找不到学生
                        for student in all_students:
                            if find_name == student['student_name']:
                                print('姓名:%s,年龄:%s,电话:%s,学号:%s' % \
                                      (student['student_name'], student['student_age'], student['student_tel'], \
                                       student['student_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['student_id']:
                                print('姓名:%s,年龄:%s,电话:%s,学号:%s' % \
                                      (student['student_name'], student['student_age'], student['student_tel'], \
                                       student['student_id']))
                                flag = False
                        if flag:
                            print('找不到该学生信息')
                    # 返回上一层
                    else:
                        pass
                    continue
                if mul1 == '3':
                    print('1.按姓名删除学生')
                    print('2.按学号删除学生')
                    print('3.返回')
                    del_input = input("请输入(1,2,3)")
                    if del_input == '3':
                        break
                        # 把所有学生找出来
    
                    dict3 = doc.json_r_doc('./files/student.json')
                    dict3 = doc.json_loads_doc(dict3)
                    all_students = dict3['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['student_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]
                        dict3['all_student'].remove(del_student)
                        doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                    if del_input == '2':
                        find_number = input('请输入要删除学生的学号')
                        num = 0
                        for student in all_students[:]:
                            if find_number == student['student_id']:
                                all_students.remove(student)
    
                                num += 1
                        dict3['all_student']=all_students
                        doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                        if num == 0:
                            print('没有找到匹配的学生')
                            continue
                    continue
                if mul1 == '4':
                    print('1.按姓名修改学生')
                    print('2.按学号修改学生')
                    print('3.返回')
                    dict3 = doc.json_r_doc('./files/student.json')
                    dict3 = doc.json_loads_doc(dict3)
                    all_students = dict3['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['student_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
                          
                                    num6 += 1
                            dict3['all_student']=all_students
                            doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                            break
                            if num6 == 0:
                                print('没有找到匹配的项')
                                continue
                    if input_num == '2':
                        num7 = 0
                        find_id = input('请输入将要修改学生的学号:')
                        for student in all_students:
                            if student['student_id'] == find_id:
                                print('已找到该学生:')
                                update_key = input('请输入修改项:')
                                update_value = input('请输入修改值:')
                                student[update_key] = update_value
                                
                                num7 += 1
                        dict3['all_student'] = all_students
                        doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                        if num7 == 0:
                            print('没有找到匹配的学生')
                            continue
                    if input_num == '3':
                        break
    
    
    
    
    

    结果:

    D:\Python项目\Day5-练习和列表\code\venv\Scripts\python.exe D:/Python项目/学生管理系统/code/main.py


    1.登录
    2.注册
    3.退出


    请选择操作:1
    请登录
    请输入姓名:we
    请输入密码:123
    登录成功
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:1
    添加学生:
    姓名:we
    年龄:123
    电话:4
    添加成功
    1.继续添加
    2.返回首页

    1
    添加学生:
    姓名:we
    年龄:242
    电话:353
    添加成功
    1.继续添加
    2.返回首页
    2
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:4
    1.按姓名修改学生
    2.按学号修改学生
    3.返回
    请选择查询方式:1
    请输入将要修改学生的名字:we
    0 {'student_name': 'we', 'student_id': 'py1805001', 'student_age': '12', 'student_tel': '345'}
    1 {'student_name': 'we', 'student_id': 'py1805001', 'student_age': '34', 'student_tel': '56'}
    2 {'student_name': 'we', 'student_id': 'py1805001', 'student_age': '123', 'student_tel': '4'}
    3 {'student_name': 'we', 'student_id': 'py1805003', 'student_age': '242', 'student_tel': '353'}
    请选择要修改的学生:0
    请选择要修改的项student_age
    请输入修改内容:12
    1.按姓名修改学生
    2.按学号修改学生
    3.返回
    请选择查询方式:2
    请输入将要修改学生的学号:py1805003
    已找到该学生:
    请输入修改项:age
    请输入修改值:100
    已找到该学生:
    请输入修改项:student_age
    请输入修改值:100
    1.按姓名修改学生
    2.按学号修改学生
    3.返回
    请选择查询方式:3
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生
    4.修改学生信息
    0.退出
    ==========================
    请输入:0
    ==========================
    欢迎进入XXX学生管理系统
    1.添加学生
    2.查看学生
    3.删除学生

    4.修改学生信息
    0.退出
    ==========================
    请输入:0
    欢迎下次登录

    Process finished with exit code 0

    相关文章

      网友评论

          本文标题:学生管理系统临时

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