视频加载失败

员工管理系统简洁版

1788 字
9 分钟
员工管理系统简洁版

【一】需求介绍#

  • 用户可以注册,并将注册信息临时保存起来,登陆时可根据指定用户名或密码进行登陆
  • 设定好用户名和密码,用户通过输入指定的用户名和密码进行登陆
  • 最大尝试次数:用户最多尝试猜测3次
  • 最大尝试次数后:如3次后,问用户是否继续登陆
    • 如果回答Y或y,就再给3次机会,提示【还剩最后三次机会】
    • 3次都猜错的话登录结束
    • 如果回答N或n,登陆结束!
    • 如果格式输入错误,提示【输入格式错误,请重新输入:】
  • 如果猜对了,登陆结束!

【二】功能分析#

【1】添加员工信息#

  • 用户登录选择添加员工信息功能,可以添加指定员工信息
  • 信息格式如下
{'员工编号':{员工数据}, '员工编号':{员工数据}, '员工编号':{员工数据}}

【2】修改员工薪资#

  • 用户可以根据员工编号选择指定员工
  • 然后可以修改指定员工薪资(也可以修改其他选项)

【3】查看指定员工#

  • 用户根据指定员工编号查看指定员工信息

【4】查看所有员工#

  • 用户可以查看所有员工信息

【5】删除员工数据#

  • 用户可以根据指定员工编号删除指定员工信息

【三】代码实现#

# -*-coding: Utf-8 -*-
# @File : 员工管理系统初级 .py
# author: Chimengmeng
# blog_url : https://www.cnblogs.com/dream-ze/
# Time:2023/11/26
func_list = '''
--- 员工管理系统 ---
1.添加员工信息
2.修改员工信息
3.查看所有员工
4.查看指定员工
5.删除员工数据
'''
# 定义员工信息字典
user_data_dict = {}
while True:
# 打印功能菜单
print(func_list)
# 输入功能代码
function_id = input("请输入功能ID(输入n退出) :>>>> ").strip()
if function_id == 'n' or function_id == 'N':
print(f"感谢使用!下次再会!")
break
# 功能代码进行强转
function_id = int(function_id)
# 【一】添加员工信息
if function_id == 1:
# 【1】定义添加信息标志位
tag_add = True
# 【2】标志位为True可添加信息,否则退出循环
while tag_add:
# 【3】员工编号
emp_id = input("请输入员工编号 :>>>> ").strip()
# 【3.1】校验员工编号是否已存在
if emp_id in user_data_dict.keys():
print(f"当前编号 :>>>> {emp_id} 已存在!无法添加!")
# 【3.2】员工编号存在,则不允许使用该编号
continue
# 【4】员工姓名
emp_name = input("请输入员工姓名 :>>>> ").strip()
# 【5】员工年龄
emp_age = input("请输入员工年龄 :>>>> ").strip()
# 【6】员工薪资
emp_salary = input('请输入员工的薪资 :>>>> ').strip()
# 【7】构建员工字典
user_data = {
"emp_name": emp_name,
"emp_age": emp_age,
"emp_salary": emp_salary,
}
# 【8】将本员工信息添加到总的员工信息字典中
user_data_dict[emp_id] = user_data
print(f"当前员工 {emp_name} :>>>> 信息已录用!")
again_input = input("是否继续录入信息?(Y/N)")
if again_input == 'Y' or again_input == 'y':
print()
continue
else:
tag_add = False
# 【二】修改员工信息
elif function_id == 2:
# 【1】设置修改员工信息标志位
tag_change = True
# 【2】标志位为True可修改信息,否则退出循环
while tag_change:
# 【3】获取所有员工的编号列表
emp_id_list = user_data_dict.keys()
print(f"当前用户编号列表如下 :>>>> {list(emp_id_list)}")
# 【4】输入修改的员工编号对应的员工信息
emp_id = input("请输入员工编号 :>>>> ").strip()
# 【4.1】校验员工编号是否已存在
if emp_id not in user_data_dict.keys():
print(f"当前编号 :>>>> {emp_id} 不存在!无法修改!")
# 【4.2】员工编号不存在,则不允许使用该编号
continue
# 【5】获取员工编号对应的员工信息字典
user_data = user_data_dict.get(emp_id)
# 【5】获取员工姓名 --- 如果是 n/N 则表示不修改此信息
emp_name_new = input("请输入员工姓名(输入n保持不变) :>>>> ").strip()
if emp_name_new == "n" or emp_name_new == "N":
# 根据字典中的键获取对应的值
emp_name_new = user_data.get('emp_name')
# 【5】获取员工年龄 --- 如果是 n/N 则表示不修改此信息
emp_age_new = input("请输入员工年龄(输入n保持不变) :>>>> ").strip()
if emp_age_new == "n" or emp_age_new == "N":
emp_age_new = user_data.get('emp_age')
# 【6】获取员工薪资 --- 如果是 n/N 则表示不修改此信息
emp_salary_new = input('请输入员工的薪资(输入n保持不变) :>>>> ').strip()
if emp_salary_new == "n" or emp_salary_new == "N":
emp_salary_new = user_data.get('emp_salary')
# 【7】构建用户信息字典
user_data = {
"emp_name": emp_name_new,
"emp_age": emp_age_new,
"emp_salary": emp_salary_new,
}
# 【8】更新用户信息字典 --- 当前员工编号对应信息存在则更新,不存在则新添加
user_data_dict[emp_id] = user_data
print(f"当前员工 {emp_name_new} :>>>> 信息更新成功!")
# 【9】是否再次修改信息
again_input = input("是否继续修改信息?(Y/N)")
if again_input == 'Y' or again_input == 'y':
print()
continue
else:
tag_add = False
# 【三】查看所有员工信息
elif function_id == 3:
# 【1】设置标志位
tag_check = True
while tag_check:
print(f"当前所有员工信息如下")
# 遍历员工信息字典 {emp_id : {"emp_name":emp_name,"emp_age":emp_age,"emp_salary":emp_salary}}
# emp_id : emp_id
# emp_data : {"emp_name":emp_name,"emp_age":emp_age,"emp_salary":emp_salary}
for emp_id, emp_data in user_data_dict.items():
emp_name = emp_data.get("emp_name")
emp_age = emp_data.get("emp_age")
emp_salary = emp_data.get("emp_salary")
print(f'''
------- emp_info -------
员工编号 :>>>> {emp_id}
员工姓名 :>>>> {emp_name}
员工年龄 :>>>> {emp_age}
员工薪资 :>>>> {emp_salary}
------- end -------
''')
# 【9】是否再次查看信息
again_input = input("是否继续查看全部信息?(Y/N)")
if again_input == 'Y' or again_input == 'y':
print()
continue
else:
tag_check = False
# 【四】查看指定员工信息
elif function_id == 4:
# 【1】设置标志位
tag_check_one = True
# 【2】
while tag_check_one:
# 【3】获取所有员工的编号列表
emp_id_list = user_data_dict.keys()
print(f"当前用户编号列表如下 :>>>> {list(emp_id_list)}")
# 【4】输入修改的员工编号对应的员工信息
emp_id = input("请输入员工编号 :>>>> ").strip()
# 【4.1】校验员工编号是否已存在
if emp_id not in user_data_dict.keys():
print(f"当前编号 :>>>> {emp_id} 不存在!无法查看!")
# 【4.2】员工编号不存在,则不允许查看该编号
continue
# 【5】获取员工编号对应的员工信息字典
print(f"当前指定员工编号 {emp_id} 信息如下")
# emp_data : {"emp_name":emp_name,"emp_age":emp_age,"emp_salary":emp_salary}
emp_data = user_data_dict.get(emp_id)
emp_name = emp_data.get("emp_name")
emp_age = emp_data.get("emp_age")
emp_salary = emp_data.get("emp_salary")
print(f'''
------- emp_info -------
员工编号 :>>>> {emp_id}
员工姓名 :>>>> {emp_name}
员工年龄 :>>>> {emp_age}
员工薪资 :>>>> {emp_salary}
------- end -------
''')
# 【9】是否再次查看信息
again_input = input("是否继续查看全部信息?(Y/N)")
if again_input == 'Y' or again_input == 'y':
print()
continue
else:
tag_check_one = False
# 【五】删除指定编号信息
elif function_id == 5:
# 【1】设置标志位
tag_delete_one = True
# 【2】
while tag_delete_one:
# 【3】获取所有员工的编号列表
emp_id_list = user_data_dict.keys()
print(f"当前用户编号列表如下 :>>>> {list(emp_id_list)}")
# 【4】输入修改的员工编号对应的员工信息
emp_id = input("请输入员工编号 :>>>> ").strip()
# 【4.1】校验员工编号是否已存在
if emp_id not in user_data_dict.keys():
print(f"当前编号 :>>>> {emp_id} 不存在!无法查看!")
# 【4.2】员工编号不存在,则不允许查看该编号
continue
# 【5】删除员工编号对应的员工信息字典
user_data_dict.pop(emp_id)
print(f"当前员工 {emp_id} :>>>> 信息已删除")
# 【6】是否再次查看信息
again_input = input("是否继续删除信息?(Y/N)")
if again_input == 'Y' or again_input == 'y':
print()
continue
else:
tag_delete_one = False
else:
print(f"意料之外的错误!")

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
Profile Image of the Author
Dream
Hello, I'm Dream.
公告
欢迎来到我的博客!爱学习爱进步。
分类
标签
最新动态
站点统计
文章
300
分类
5
标签
26
总字数
640,882
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录