编写一个能计算公司一年支出的程序。 已知某company有员工30人,分三类:WeekWorker每周580¥,MonthWorker月薪每月2500 ¥ ,YearWorker年薪每年22000 ¥ 。 已知有Employee类,有成员函数earning()用于计算Employee一年的收入。在conmpany类中有Employee[]存放公司员工,成员函数salariesPay()计算并打印公司的所有一年薪水之和。 请编写类Company,Employee,WeekWorker,MonthWorker,YearWorker,假定公司三类员工各自的数量用随机数来模拟,打印该公司一年的薪水支出。
时间: 2024-02-22 07:57:22 浏览: 94
好的,以下是关于Company、Employee、WeekWorker、MonthWorker和YearWorker类的代码实现。
```python
import random
class Employee:
def earning(self):
pass
class WeekWorker(Employee):
def earning(self):
return 580 * 52
class MonthWorker(Employee):
def earning(self):
return 2500 * 12
class YearWorker(Employee):
def earning(self):
return 22000
class Company:
def __init__(self):
self.employees = []
for i in range(30):
r = random.randint(0, 2)
if r == 0:
self.employees.append(WeekWorker())
elif r == 1:
self.employees.append(MonthWorker())
else:
self.employees.append(YearWorker())
def salariesPay(self):
total = 0
for employee in self.employees:
total += employee.earning()
print("该公司一年的薪水支出为:", total)
company = Company()
company.salariesPay()
```
在上述代码中,我们首先定义了一个Employee类,其中有一个earning()函数,用于计算Employee一年的收入。然后,我们又定义了WeekWorker、MonthWorker和YearWorker三个类,分别表示周薪、月薪和年薪的员工。这些类都继承自Employee类,并且都实现了earning()函数,用于计算自己的一年收入。
接着,我们定义了一个Company类,其中有一个名为employees的成员变量,用于存放公司的所有员工。在Company类的构造函数中,我们使用随机数生成器模拟了公司三类员工各自的数量,将它们添加到employees变量中。
最后,我们在Company类中定义了一个名为salariesPay()的成员函数,用于计算并打印公司的所有一年薪水之和。在这个函数中,我们遍历了employees变量中的所有员工,调用他们的earning()函数,将所有员工的一年收入加起来,然后打印出来。
最后,我们创建了一个Company对象,并调用了它的salariesPay()函数来计算并打印公司的一年薪水支出。
阅读全文
相关推荐













