员工系统管理

# 【1】添加员工信息
# 用户登录选择添加员工信息时,可以添加指定员工的信息
# {'员工编号':{员工数据},'员工编号':{员工数据}}
# 【2】修改员工薪资
# 管理员根据员工编号选择指定的员工
# 修改指定员工的薪资
# 【3】查看指定员工信息
# 根据用户指定员工编号查看信息
# 【4】查看所有员工信息
# 管理员查看所有员工信息
# 【5】删除员工数据

function_menu = '''
    ------ 员工管理系统 ------
        1.注册员工账号
        2.登录员工账号
        3.添加员工信息
        4.修改员工信息
        5.查看指定员工信息
        6.查看所有员工信息
        7.删除指定员工信息        
        8.删除所有员工信息
        9.查看当前登录用户信息
        10.退出系统(q)
        '''
user_data_dict = {"gdy": {"username": "gdy", "password": "123", "role": True},
                  "hyt": {"user_id": "0001", "username": "hyt", "password": "456", "age": "24", "salary": 100000.0,
                          "hobby": ["read", "run"], "role": False},
                  }
login_user_dict = {
    "username": "",
    "role": None
}
while True:
    # 【一】打印功能菜单
    print(function_menu)
    # 【二】输入功能ID
    function_id = input("请输入功能ID :>>>>> ").strip()
    # 设置退出系统
    if function_id == "q":
        print("已退出员工管理系统!")
        break
        # isdigit()判断是否为十进制数
    if not function_id.isdigit():
        print("当前输入的ID格式有误!")
        continue
    function_id = int(function_id)
    if function_id not in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
        print("当前输入的ID无效!")
        continue

    # 注册功能
    if function_id == 1:
        print(f"下面请进行注册")
        # 输入要注册的员工账户和密码
        username_input = input(f"请输入员工账户 :>>>>>")
        password_input = input(f"请输入员工密码 :>>>>>")
        # 这里判断注册的账号是否已经存在
        if username_input in user_data_dict:
            print(f"你输入账户{username_input}已注册!请前往登录")
            continue
        else:
            # 添加管理员身份
            if username_input == "gdy" and password_input == "123":
                role = True
            else:
                role = False
            # 注册用户信息
            # 这里我们可以将员工信息做成字典
            user_data_dict[username_input] = {
                "username": username_input,
                "password": password_input,
                "role": role,
            }
            print(f"当前用户{username_input}注册完成!")
    # 登录功能
    elif function_id == 2:
        print(f"你已进入登录功能")
        username_input = input(f"请输入你的用户名:>>>>>")
        password_input = input(f"请输入你的密码:>>>>>")
        # 创建一个user_data用作判断
        user_data = user_data_dict.get(username_input)
        if not user_data:
            print(f"你输入的用户名{username_input}还未注册,请先注册")
            continue
        else:
            # 判断用户和密码是否正确
            if username_input == user_data.get("username") and password_input == user_data.get("password"):
                print(f"用户{username_input}登录成功!")
                login_user_dict['username'] = username_input
                login_user_dict['role'] = user_data.get("role")
            else:
                print(f"当前用户密码输入错误!")
            continue
    # 添加员工信息
    elif function_id == 3:
        print(f"你已进入添加员工信息功能!")
        # 判断当前是否登录,只有管理员有权限添加
        if not login_user_dict.get("username"):
            print(f"请先登录再进行操作!")
            continue
        if not login_user_dict.get("role"):
            print(f"你不是管理员,此操作需管理员!")
            continue
        # 获取员工数据
        username_input = input(f"请输入用户名:>>>>>").strip()
        # 判断当前用户是否存在
        # 获取当前用户信息
        user_data = user_data_dict.get(username_input)
        if user_data:
            print(f"当前用户{username_input}已注册")
        else:
            # 注册新用户
            # 密码
            password_input = input(f"请输入密码:>>>>>").strip()
            # 年龄
            while True:
                age_input = input(f"请输入年龄:>>>>>").strip()
                if age_input == "q":
                    break
                if not age_input.isdigit():
                    print(f"输入的年龄不合法!")
                    continue
                age_input = int(age_input)
                if not 0 < age_input < 100:
                    print(f"年龄不正常")
                break
            # 爱好
            hobby_list = []
            while True:
                hobby_input = input(f"请输入爱好:>>>>>").strip()
                if hobby_input == "q":
                    break
                if hobby_input not in hobby_list:
                    hobby_list.append(hobby_input)
                else:
                    print(f"此爱好已存在")
                continue
            # 薪资
            salary_input = input(f"请输入薪资:>>>>>").strip()
            salary_input = float(int(salary_input))
            # 编号
            user_id = input("请输入员工编号:>>>>>").strip()
            # 输入数字
            user_id = user_id.zfill(len(user_id)+3)

            user_data_dict[username_input] = {
                "user_id": user_id,
                "username": username_input,
                "age": age_input,
                "salary": salary_input,
                "password": password_input,
                "hobby": hobby_list,
                "role": False
            }
            print(f"当前用户{username_input}信息添加成功!")
    # 修改员工信息
    elif function_id == 4:
        print(f"你已进入修改员工信息功能")
        # 判断当前是否登录,只有管理员有权限添加
        if not login_user_dict.get("username"):
            print(f"请先登录再进行操作!")
            continue
        if not login_user_dict.get("role"):
            print(f"你不是管理员,此操作需管理员!")
            continue
        print(f"已有员工信息如下:>>>>>")
        user_id_list = []
        for username, user_data in user_data_dict.items():
            if username == "gdy":
                pass
            else:
                user_id_list.append(user_data.get('user_id'))
                print(f"当前用户ID {user_data.get('user_id')} | 用户名 {username}")
            # 输入想要修改的员工编号
        user_id = input(f"请输入需要更改的员工编号:>>>>>").strip()
        if user_id not in user_id_list:
            print(f"输入的ID不存在")
            continue
        user_data = {}
        for username, user_data_ in user_data_dict.items():
            # 输入的ID和已经存在的ID一致
            if user_id == user_data_.get("user_id"):
                # 原字典更新成为新字典
                user_data.update(user_data_)
            # 只修改薪资
        salary_input = float(int(input(f"请输入更改后的薪资:>>>>> ").strip()))
        username = user_data.get("username")
        user_data_dict[username]["salary"] = salary_input
        print(f"薪资修改成功!")
    # 查看所有员工信息
    elif function_id == 5:
        print(f"你已进入查看所有员工信息功能!")
        print('''----------员工信息开始----------''')
        for username, user_data in user_data_dict.items():
            if username == "gdy":
                pass
            else:
                print(f'''
            编 号:>>>>> {user_data.get("user_id")}
            用户名:>>>>> {username}
            年 龄:>>>>> {user_data.get("age")}
            薪 资:>>>>> {user_data.get("salary")}
            爱 好:>>>>> {'-'.join(user_data.get("hobby"))}
            ''')
        print('''----------员工信息结束----------''')
    # 查看指定员工信息
    elif function_id == 6:
        print(f"你已进入查看指定员工信息功能")
        # 判断是否已经登录
        if not login_user_dict.get("username"):
            print(f"请先登录,再查看!")
            continue
        print(f"已有员工信息如下:>>>>> ")
        user_id_list = []
        for username, user_data in user_data_dict.items():
            if username == "gdy":
                pass
            else:
                user_id_list.append(user_data.get("user_id"))
                print(f"当前用户ID {user_data.get('user_id')} | 用户名 {username}")
        # 输入想要查看的员工ID
        user_id = input(f"请输入想要查看的员工ID:>>>>> ").strip()
        if user_id not in user_id_list:
            print(f"当前ID不存在!")
            continue
        # 创建空字典存储用户数据
        user_data = {}
        for username, user_data in user_data_dict.items():
            if user_id == user_data.get(user_id):
                user_data.update(user_data_)
        print(f'''
        -----------当前为编号{user_id}员工信息开始-----------
                用户名:>>>>> {user_data.get("username")}
                年 龄:>>>>> {user_data.get("age")}
                薪 资:>>>>> {user_data.get("salary")}
                爱 好:>>>>> {'-'.join(user_data.get("hobby"))}
        -----------当前为编号{user_id}员工信息结束-----------
        ''')
    # 删除指定员工信息
    elif function_id == 7:
        print(f"你已进入删除指定员工信息功能!")
        # 判断是否已经登录
        if not login_user_dict.get("username"):
            print(f"请先登录,再查看!")
            continue
        if not login_user_dict.get("role"):
            print(f"你不是管理员,此操作需管理员!")
            continue
        print(f"已存在的用户如下")
        for username,user_data in user_data_dict.items():
            if user_data.get("role"):
                pass
            else:
                print(username)
        username_input = input(f"请输入想要删除的员工用户名:>>>>> ").strip()
        if username_input not in user_data_dict.keys() and username_input == "gdy":
            print(f"当前用户{username_input}不存在!")
        else:
            del user_data_dict[username_input]
            print(f"{username_input}信息已删除!")
    # 删除所有成员信息
    elif function_id == 8:
        print(f"你已进入删除所有员工信息功能!")
        if not login_user_dict.get("username"):
            print(f"请先登录,再查看!")
            continue
        if not login_user_dict.get("role"):
            print(f"你不是管理员,此操作需管理员!")
            continue
        # for username, user_data in user_data_dict.items():
        #     if user_data.get("role"):
        #         pass
        #     else:
        #         user_data_dict.pop(username)

        user_data_dict = {}
        for username,user_data in user_data_dict.items():
            if user_data.get("role"):
                user_data_dict.update({user_data.get('username'):user_data})
            else:
                pass
        print(f"所有员工信息已删除!")
    # 查看当前登录用户信息
    elif function_id == 9:
        print(f"你可查看当前登录用户信息")
        print(f'''
        ----------当前登录用户信息----------
            用户名:>>>>> {login_user_dict.get('username') if login_user_dict.get("username") else "未登录"}
            身 份:>>>>>{"管理员" if login_user_dict.get("role") else "未知"}
        ''')
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值