现有Empolyee类,有属性成员( name, hiredate age salary) ,请定义成员的方法和构造方法等方法,并定义若干职员,信息如下所示,请编程实现使得员工的入 (需要通过程序实现排序,不能只使用人工排序输出哦)
时间: 2024-02-21 09:00:24 浏览: 48
新建一个雇员类,它的数据成员有雇员代号,年龄,工资,性别, 姓名,输入雇员资料方法,打印雇员资料方法。
好的,我来帮你实现这个问题。
首先,我们需要定义一个Empolyee类,包含属性成员(name, hiredate, age, salary),以及相应的方法和构造方法。代码如下:
```python
class Employee:
def __init__(self, name, hiredate, age, salary):
self.name = name
self.hiredate = hiredate
self.age = age
self.salary = salary
def getName(self):
return self.name
def getHiredate(self):
return self.hiredate
def getAge(self):
return self.age
def getSalary(self):
return self.salary
```
然后,我们可以定义若干个职员,以便进行排序。下面是一个示例:
```python
e1 = Employee("Alice", "2020-01-01", 25, 5000)
e2 = Employee("Bob", "2019-01-01", 26, 6000)
e3 = Employee("Charlie", "2018-01-01", 27, 7000)
e4 = Employee("David", "2017-01-01", 28, 8000)
e5 = Employee("Emma", "2016-01-01", 29, 9000)
```
接下来,我们可以使用Python内置的sorted函数进行排序。由于我们需要按照工资从高到低进行排序,因此我们可以使用lambda表达式来指定排序的关键字,代码如下:
```python
employees = [e1, e2, e3, e4, e5]
employees_sorted = sorted(employees, key=lambda x: x.getSalary(), reverse=True)
```
最后,我们可以遍历排序后的职员列表,并输出各个职员的信息,代码如下:
```python
for e in employees_sorted:
print("Name: {}, Hiredate: {}, Age: {}, Salary: {}".format(e.getName(), e.getHiredate(), e.getAge(), e.getSalary()))
```
这样,我们就完成了按照工资从高到低进行排序的需求。
阅读全文