学生管理系统临时

2018-07-27  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读