设计一个员工类 计算员工的薪资 公司有5个员工 按照员工工资排序,输出员工的工号,将排序后的员工信息放到一个容器里输出
时间: 2024-01-22 11:17:22 浏览: 56
以下是一个简单的员工类示例,包括员工号、姓名、基本工资和职务津贴等属性:
```python
class Employee:
def __init__(self, id, name, salary, allowance):
self.id = id
self.name = name
self.salary = salary
self.allowance = allowance
def get_total_salary(self):
return self.salary + self.allowance
```
接下来,我们可以创建5个员工对象,并将它们放入一个列表中:
```python
employees = [
Employee('001', 'Alice', 5000, 1000),
Employee('002', 'Bob', 6000, 2000),
Employee('003', 'Charlie', 4000, 500),
Employee('004', 'David', 4500, 800),
Employee('005', 'Eve', 5500, 1200)
]
```
现在,我们可以按照员工薪资排序,可以使用 Python 内置函数 sorted() 来实现。我们可以传递一个 lambda 函数作为 key 参数,用于指定排序规则:
```python
sorted_employees = sorted(employees, key=lambda emp: emp.get_total_salary(), reverse=True)
```
上面的代码将员工按照薪资从高到低排序,并将排序后的员工信息放入 sorted_employees 列表中。我们可以遍历这个列表,并输出每个员工的工号:
```python
for emp in sorted_employees:
print(f'{emp.id}: {emp.name}, Total Salary: {emp.get_total_salary()}')
```
完整代码如下:
```python
class Employee:
def __init__(self, id, name, salary, allowance):
self.id = id
self.name = name
self.salary = salary
self.allowance = allowance
def get_total_salary(self):
return self.salary + self.allowance
employees = [
Employee('001', 'Alice', 5000, 1000),
Employee('002', 'Bob', 6000, 2000),
Employee('003', 'Charlie', 4000, 500),
Employee('004', 'David', 4500, 800),
Employee('005', 'Eve', 5500, 1200)
]
sorted_employees = sorted(employees, key=lambda emp: emp.get_total_salary(), reverse=True)
for emp in sorted_employees:
print(f'{emp.id}: {emp.name}, Total Salary: {emp.get_total_salary()}')
```
输出结果:
```
002: Bob, Total Salary: 8000
005: Eve, Total Salary: 6700
001: Alice, Total Salary: 6000
004: David, Total Salary: 5300
003: Charlie, Total Salary: 4500
```
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.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)