"""创建一个包含员工信息的管理系统，
员工的信息包括 姓名（字符串）、月考勤天数（列表，每月天数）
 和 额外信息（字典，存储例如职位和联系方式）。

添加新员工：向系统中添加一个新员工的所有信息（包括姓名、考勤天数和额外信息）。
更新员工考勤：修改指定员工某个月的考勤天数。
删除员工信息：从系统中删除某个员工的信息。
获取员工列表：输出所有员工的姓名。
查找员工信息：通过姓名查找并输出该员工的完整信息。"""


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)