已知简单的人事信息系统中职工记录包含职工编号(no)、职工姓名(name)、部门名称(depname)、职称(title)和工资数(salary)等信息,设计并完成一个简单的人事信息管理系统,要求完成但不限于以下功能: (1)增加一个职工信息; (2)显示所有职工信息; (3)按部门名称分类显示该部门所有职工信息; (4)按部门显示各部门职工工资总额; (5)删除职工信息(可以删除符合条件的一批记录) (6)按职称调整工资; (7)可自行增加功能(例如按职工编号排序等)PYTHON
时间: 2023-06-16 21:02:39 浏览: 112
以下是一个简单的人事信息管理系统的Python代码示例:
```python
# 职工记录类
class Employee:
def __init__(self, no, name, depname, title, salary):
self.no = no
self.name = name
self.depname = depname
self.title = title
self.salary = salary
# 人事信息管理系统类
class HRSystem:
def __init__(self):
self.employees = [] # 职工记录列表
# 增加一个职工信息
def add_employee(self, no, name, depname, title, salary):
employee = Employee(no, name, depname, title, salary)
self.employees.append(employee)
# 显示所有职工信息
def show_employees(self):
for employee in self.employees:
print(f"{employee.no} {employee.name} {employee.depname} {employee.title} {employee.salary}")
# 按部门名称分类显示该部门所有职工信息
def show_employees_by_depname(self, depname):
for employee in self.employees:
if employee.depname == depname:
print(f"{employee.no} {employee.name} {employee.depname} {employee.title} {employee.salary}")
# 按部门显示各部门职工工资总额
def show_salary_total_by_depname(self):
salary_total_dict = {}
for employee in self.employees:
if employee.depname not in salary_total_dict:
salary_total_dict[employee.depname] = employee.salary
else:
salary_total_dict[employee.depname] += employee.salary
for depname, salary_total in salary_total_dict.items():
print(f"{depname} {salary_total}")
# 删除职工信息(可以删除符合条件的一批记录)
def delete_employee(self, condition_func):
self.employees = [employee for employee in self.employees if not condition_func(employee)]
# 按职称调整工资
def adjust_salary_by_title(self, title, delta_salary):
for employee in self.employees:
if employee.title == title:
employee.salary += delta_salary
# 可自行增加功能
# 示例代码
hr_system = HRSystem()
hr_system.add_employee(1001, "张三", "销售部", "销售员", 5000)
hr_system.add_employee(1002, "李四", "财务部", "会计", 6000)
hr_system.add_employee(1003, "王五", "销售部", "销售经理", 8000)
hr_system.show_employees()
print("----")
hr_system.show_employees_by_depname("销售部")
print("----")
hr_system.show_salary_total_by_depname()
print("----")
hr_system.delete_employee(lambda employee: employee.depname == "销售部")
hr_system.show_employees()
print("----")
hr_system.adjust_salary_by_title("会计", 1000)
hr_system.show_employees()
```
这个示例代码实现了增加职工信息、显示所有职工信息、按部门名称分类显示该部门所有职工信息、按部门显示各部门职工工资总额、删除职工信息、按职称调整工资等功能。你可以在此基础上进行进一步的开发和改进。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)