|
"""创建一个包含员工信息的管理系统,
|
|
员工的信息包括 姓名(字符串)、月考勤天数(列表,每月天数)
|
|
和 额外信息(字典,存储例如职位和联系方式)。
|
|
|
|
添加新员工:向系统中添加一个新员工的所有信息(包括姓名、考勤天数和额外信息)。
|
|
更新员工考勤:修改指定员工某个月的考勤天数。
|
|
删除员工信息:从系统中删除某个员工的信息。
|
|
获取员工列表:输出所有员工的姓名。
|
|
查找员工信息:通过姓名查找并输出该员工的完整信息。"""
|
|
|
|
|
|
class EmployeeManagementSystem:
|
|
def __init__(self):
|
|
self.employees = {}
|
|
|
|
def add_employee(self, name, attendance_days, extra_info):
|
|
"""添加新员工"""
|
|
if name in self.employees:
|
|
print(f"员工 {name} 已存在。")
|
|
else:
|
|
self.employees[name] = {
|
|
'attendance_days': attendance_days,
|
|
'extra_info': extra_info
|
|
}
|
|
print(f"员工 {name} 已添加。")
|
|
|
|
def update_attendance(self, name, month, days):
|
|
"""更新员工考勤"""
|
|
if name in self.employees:
|
|
if month < len(self.employees[name]['attendance_days']):
|
|
self.employees[name]['attendance_days'][month] = days
|
|
print(f"{name} 的考勤已更新。")
|
|
else:
|
|
print("无效的月份。")
|
|
else:
|
|
print(f"员工 {name} 不存在。")
|
|
|
|
def delete_employee(self, name):
|
|
"""删除员工信息"""
|
|
if name in self.employees:
|
|
del self.employees[name]
|
|
print(f"员工 {name} 已删除。")
|
|
else:
|
|
print(f"员工 {name} 不存在。")
|
|
|
|
def get_employee_list(self):
|
|
"""获取员工列表"""
|
|
return list(self.employees.keys())
|
|
|
|
def find_employee(self, name):
|
|
"""查找员工信息"""
|
|
if name in self.employees:
|
|
return self.employees[name]
|
|
else:
|
|
print(f"员工 {name} 不存在。")
|
|
return None
|
|
|
|
# 示例用法
|
|
|
|
|
|
if __name__ == "__main__":
|
|
ems = EmployeeManagementSystem()
|
|
|
|
# 添加员工
|
|
ems.add_employee("张三", [20, 22, 21], {"职位": "工程师", "联系方式": "123456789"})
|
|
ems.add_employee("李四", [18, 20, 19], {"职位": "经理", "联系方式": "987654321"})
|
|
|
|
# 更新考勤
|
|
ems.update_attendance("张三", 1, 23)
|
|
|
|
# 删除员工
|
|
ems.delete_employee("李四")
|
|
|
|
# 获取员工列表
|
|
print("员工列表:", ems.get_employee_list())
|
|
|
|
# 查找员工信息
|
|
employee_info = ems.find_employee("张三")
|
|
if employee_info:
|
|
print("张三的信息:", employee_info)
|