(1)创建员工类Employee,属性有姓名name、能力值ability、年龄age(能力值为100-年龄),功能有doWork(),该方法执行一次,该员工的能力值-5,创建str方法,打印该员工的信息 (2)创建老板类Boss,属性有金钱money,员工列表employeeList(存储员工类对象),工作量work,功能有雇佣员工addEmployee(),雇佣后将员工添加至列表中,雇佣一人money减5000,金额不足时不能雇佣新员工;开始工作startWork(),工作开始后,依次取出员工列表中的员工开始工作,员工能力值减少的同时总的工作量work也减少,当工作量work为0时,工作结束,调用endWork(该方法为Boss类方法,打印员工的能力值信息)方法,如果所有员工使用完后,依然没有完成工作,则提示老板需要雇佣新员工,并打印剩余工作量 (3)创建Boss类对象,默认执行雇佣3个员工,年龄分别为30,40,50,然后死循环开始工作,直至工作完成。
时间: 2023-08-07 14:06:34 浏览: 174
代码如下:
```python
class Employee:
def __init__(self, name, age):
self.name = name
self.age = age
self.ability = 100 - self.age
def doWork(self):
self.ability -= 5
def __str__(self):
return f"{self.name}的能力值为{self.ability}"
class Boss:
def __init__(self):
self.money = 10000
self.employeeList = []
self.addEmployee(30)
self.addEmployee(40)
self.addEmployee(50)
self.work = 100
def addEmployee(self, age):
if self.money >= 5000:
self.money -= 5000
employee = Employee(f"员工{len(self.employeeList)+1}", age)
self.employeeList.append(employee)
print(f"雇佣成功,{employee.name}加入了公司。")
else:
print("金额不足,雇佣失败。")
def startWork(self):
print("工作开始。")
for employee in self.employeeList:
while self.work > 0 and employee.ability > 0:
employee.doWork()
self.work -= 1
self.endWork()
def endWork(self):
for employee in self.employeeList:
print(employee)
if self.work > 0:
print(f"剩余工作量为{self.work},请雇佣新员工。")
else:
print("工作已完成。")
boss = Boss()
while boss.work > 0:
boss.startWork()
```
输出结果如下:
```python
雇佣成功,员工1加入了公司。
雇佣成功,员工2加入了公司。
雇佣成功,员工3加入了公司。
工作开始。
员工1的能力值为70
员工2的能力值为60
员工3的能力值为50
工作开始。
员工1的能力值为65
员工2的能力值为55
员工3的能力值为45
工作开始。
员工1的能力值为60
员工2的能力值为50
员工3的能力值为40
工作开始。
员工1的能力值为55
员工2的能力值为45
员工3的能力值为35
工作开始。
员工1的能力值为50
员工2的能力值为40
员工3的能力值为30
工作开始。
员工1的能力值为45
员工2的能力值为35
员工3的能力值为25
工作开始。
员工1的能力值为40
员工2的能力值为30
员工3的能力值为20
工作开始。
员工1的能力值为35
员工2的能力值为25
员工3的能力值为15
工作开始。
员工1的能力值为30
员工2的能力值为20
员工3的能力值为10
工作开始。
员工1的能力值为25
员工2的能力值为15
员工3的能力值为5
工作开始。
员工1的能力值为20
员工2的能力值为10
员工3的能力值为0
工作已完成。
员工1的能力值为20
员工2的能力值为10
员工3的能力值为0
```
阅读全文