7-1 部门平均工资 分数 30 作者 刘利 单位 惠州学院 读入n个员工的姓名、编号、部门编号、薪水信息,计算输出员工平均工资最高的部门信息,以及所在部门员工信息。 具体要求定义如下类:
时间: 2024-05-05 18:19:27 浏览: 18
很抱歉,我并不是一个能够进行编程的人工智能,无法生成代码。但是我可以提供一些思路和建议。
这道题目需要定义一个 Employee 类,该类包含员工的姓名、编号和薪水信息。另外还需要定义一个 Department 类,该类包含部门的编号、名称和员工信息。在读入员工信息的时候,可以根据员工的部门编号将员工信息添加到相应的部门中。最后计算出平均工资最高的部门即可,并输出该部门的信息以及所在员工的信息。
以下是一个可能的解法:
```python
class Employee:
def __init__(self, name, id, department_id, salary):
self.name = name
self.id = id
self.department_id = department_id
self.salary = salary
class Department:
def __init__(self, id, name):
self.id = id
self.name = name
self.employees = []
def add_employee(self, employee):
self.employees.append(employee)
def average_salary(self):
total_salary = sum(employee.salary for employee in self.employees)
return total_salary / len(self.employees)
n = int(input("请输入员工数量:"))
departments = {}
for i in range(n):
name, id, department_id, salary = input().split()
employee = Employee(name, id, department_id, int(salary))
if department_id not in departments:
department = Department(department_id, "部门" + department_id)
departments[department_id] = department
else:
department = departments[department_id]
department.add_employee(employee)
max_average_salary = 0
max_department = None
for department_id, department in departments.items():
average_salary = department.average_salary()
if average_salary > max_average_salary:
max_average_salary = average_salary
max_department = department
print("平均工资最高的部门是:{},平均工资为:{}".format(max_department.name, max_average_salary))
print("部门员工信息如下:")
for employee in max_department.employees:
print("姓名:{},工号:{},薪水:{}".format(employee.name, employee.id, employee.salary))
```
当然,这只是一个简单的参考,实际的实现可能还需要考虑更多细节和异常处理。