已知某公司有三种类型的员工:1)文员,工资计算方式是:基本工资+奖金-缺勤天数5,2)销售员,公式是:基本工资+销售业绩0.05,3)临时工公式:工作小时数*20;每个员工都有自己的工号、姓名。自行设定公司员工信息,编程计算公司发放工资总数。用类的知识解决
时间: 2024-03-18 13:38:51 浏览: 48
好的,我们可以定义一个Employee类,用于描述员工的属性和行为。以下是一个简单的实现:
```python
class Employee:
def __init__(self, id, name, type, basic_salary, bonus=0, sales_performance=0, work_hours=0, absence_days=0):
self.id = id
self.name = name
self.type = type
self.basic_salary = basic_salary
self.bonus = bonus
self.sales_performance = sales_performance
self.work_hours = work_hours
self.absence_days = absence_days
def calculate_salary(self):
if self.type == 1:
salary = self.basic_salary + self.bonus - self.absence_days*5
elif self.type == 2:
salary = self.basic_salary + self.sales_performance*0.05
else:
salary = self.work_hours*20
return salary
```
以上代码定义了一个名为Employee的类,该类包含七个成员变量(id、name、type、basic_salary、bonus、sales_performance、work_hours、absence_days)和一个成员函数(calculate_salary)。成员函数用于计算员工的工资,根据员工的类型和工资计算公式来计算。
接下来,可以创建多个Employee对象,设置对象的属性并调用calculate_salary函数来计算工资:
```python
# 创建多个Employee对象
e1 = Employee(1, 'Alice', 1, 5000, 500, 0, 0, 5)
e2 = Employee(2, 'Bob', 2, 3000, 0, 50000, 0, 0)
e3 = Employee(3, 'Charlie', 3, 0, 0, 0, 100, 0)
# 计算公司发放的工资总数
total_salary = e1.calculate_salary() + e2.calculate_salary() + e3.calculate_salary()
print('公司发放的工资总数为:', total_salary)
```
以上代码创建了三个Employee对象,分别为e1、e2、e3,并设置了对象的属性。然后通过调用对象的calculate_salary函数来计算工资,并将三个员工的工资相加得到公司发放的工资总数。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.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)