员工管理系统

发布时间 2023-12-09 16:28:11作者: ssrheart

【实战】员工管理系统

要求实现以下功能:

  • 功能列表

    • 1.添加用户
    • 2.查看指定用户
    • 3.查看所有用户
    • 4.删除指定用户
    • 5.删除所有用户
    • 6.修改指定用户信息
    • 7.退出系统
  • 用户信息总览

    编号 名字 年龄 爱好 身份信息
    
    • 指定编号(自定义):可以根据指定编号,修改查看指定员工信息

    • 指定名字(自定义)

    • 指定年龄(自定义)

    • 指定爱好(自定义):可以有多个爱好,可以修改时在原有基础上增加新的爱好

    • 指定身份信息(管理员/员工):管理员具有删除和修改信息功能,员工只能登录注册添加和查看

# [1]功能列表
function_dict = '''
    1.添加用户
    2.查看指定用户
    3.查看所有用户
    4.删除指定用户
    5.删除所有用户
    6.修改指定用户信息
    7.退出系统
    8.注册
    9.登录
'''
# [2]定义员工信息存储数据库
# 存储登录信息{'heart':'123'}
user_data_pwd_dict = {'heart': '123'}
# 存储用户详细信息: 编号 名字 年龄 爱好 身份信息
user_data_info_list = [{'heart': {'id': '001', 'name': 'god', 'hobby': [], 'premission': 'admin'}}]
# [3]写功能
tag_outer = True
tag_admin = False
while tag_outer:
    print(function_dict)
    function_id_outer = input('请输入功能id:>>>').strip()
    if not function_id_outer.isdigit():
        print(f'请输入合法的id({function_id_outer})!')
    function_id_outer = int(function_id_outer)
    if function_id_outer not in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
        print(f'{function_id_outer}:>>> 不存在!')

    # 1.添加用户
    if function_id_outer == 1 and tag_admin:
        # {'heart':123} ---> 已经注册过的用户
        username_input_login = input('请输入用户名 :>>>').strip()
        if username_input_login not in user_data_pwd_dict.keys():
            print(f'{username_input_login} 当前用户没有注册过,不允许添加信息!')
            continue
        # 修改注册过的用户的信息
        hobby_list = []
        username_id = input('请输入员工编号 :>>>').strip()
        username_input = input('请输入员工姓名 :>>>').strip()
        username_premisson = input('请输入员工等级(默认用户) :>>>').strip()
        while True:
            username_hobby = input('请输入员工爱好(q结束添加) :>>>').strip()
            if username_hobby == 'q':
                break
            if username_hobby in hobby_list:
                print(f'{username_hobby}不允许重复添加')
            hobby_list.append(username_hobby)
        user_data_info_list.append({username_input_login: {'id': username_id,
                                                           'name': username_input,
                                                           'hobby': hobby_list,
                                                           'premission': username_premisson if username_premisson else '普通用户'}})
        print(f'{username_input_login} :>>> 用户信息已添加')
        print(user_data_info_list)
        continue

    # 2.查看指定用户
    elif function_id_outer == 2:
        print(f'当前所有id如下:')
        for info in user_data_info_list:
            print([item.get('id') for item in info.values()])
        username_id = input('请输入用户编号:>>>').strip()
        for info in user_data_info_list:
            if username_id not in [item.get('id') for item in info.values()]:
                print(f'当前编号 {username_id} 不存在')
                break
            for item in info.values():
                if item.get('id') == username_id:
                    print(f'''
                    当前用户信息如下 :
                    {item}
                    ''')
    # 3.查看所有用户
    elif function_id_outer == 3:
        for info in user_data_info_list:
            for item in info.values():
                print(f'''
                所有用户信息如下
                {item}
                ''')
    # 4.删除指定用户
    elif function_id_outer == 4:
        username_input = input('请输入用户名 :>>>').strip()
        del user_data_pwd_dict[username_input]
        index = 0
        for i in range(len(user_data_info_list)):
            if username_input == list(user_data_info_list[i].keys()[0]):
                index = i
        del user_data_info_list[index]
        print(f'''
                用户 {username_input} :>>>删除成功!
                ''')
    # 5.删除所有用户
    elif function_id_outer == 5:
        user_data_pwd_dict.clear()
        user_data_info_list.clear()

    # 6.修改指定用户信息
    elif function_id_outer == 6:
        print(f'当前所有id如下:')
        for info in user_data_info_list:
            print([item.get('id') for item in info.values()])
        username_id = input('请输入用户编号:>>>').strip()
        id_list = []
        for item in info.values():
            id_list.append(item.get('id'))
        if username_id not in id_list:
            print(f'当前编号 {username_id} 不存在')
            break
        for info in user_data_info_list:
            for item in info.values():
                if item.get('id') == username_id:
                    # item : {'id': '001', 'name': 'god', 'hobby': [], 'premission': 'admin'}
                    hobby_list = item.get('hobby')
                    username_input = input('请输入员工姓名 :>>>').strip()
                    username_premisson = input('请输入员工等级(默认用户) :>>>').strip()
                    while True:
                        username_hobby = input('请输入员工爱好(q结束添加) :>>>').strip()
                        if username_hobby == 'q':
                            break
                        if username_hobby in hobby_list:
                            print(f'{username_hobby}不允许重复添加')
                        hobby_list.append(username_hobby)
                    item.update({'id': item.get('id'),
                                 'name': username_input,
                                 'hobby': hobby_list,
                                 'premission': username_premisson if username_premisson else '普通用户'})
                    print(f' :>>> 用户信息已修改')
                    print(user_data_info_list)

    # 7.退出系统
    elif function_id_outer == 7:
        tag_outer = False
        print(f'已退出系统!感谢使用!')
        break

    # 8.注册
    elif function_id_outer == 8:
        username_input = input('请输入用户名 :>>>').strip()
        if username_input in user_data_pwd_dict.keys():
            print(f'{username_input} 当前用户已存在,不允许重复注册!')
            continue
        password_input = input('请输入密码:>>>').strip()
        user_data_pwd_dict[username_input] = password_input
        print(f'{username_input} :>>>注册成功!')

    # 9.登录
    elif function_id_outer == 9:
        username_input = input('请输入用户名 :>>>').strip()
        password_input = input('请输入密码 :>>>').strip()
        if username_input not in user_data_pwd_dict.keys():
            print(f'{username_input} 当前用户不存在,请先注册!')
            continue
        if password_input != user_data_pwd_dict[username_input]:
            print(f'{username_input} 密码错误!')
            continue
        for info in user_data_info_list:
            # {'heart': {'id': '001', 'name': 'god', 'hobby': [], 'premission': 'admin'}}
            if info.get(username_input).get('premission') == 'admin':
                tag_admin = True
            else:
                print('当前用户无权限')
        print(f'{username_input} 用户登录成功!')