‘’’
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 ,然后死循环开始工作,直至工作完成。
‘’’
class Employee:
def init(self, name, age) -> None:
self.name = name
self.ability = 100-age
self.age = age
def doWork(self):
self.ability -= 5
def str(self):
print(“姓名:{},年龄:{},能力值:{}”.format(self.name, self.age, self.ability))
class Boss:
def init(self, money, work, employeelist) -> None:
self.money = money
self.work = work
self.List = employeelist
#雇佣员工
def addEmployee(self, name, age):
if self.money >= 5000:
e = Employee(name, age)
self.List.append(e)
self.money -= 5000
# print(self.employeeList)
else:
print(“sorry! You cannot employ the new employee”)
# 开始工作,工作值随能量值一起降低5
def startWork(self):
for man in self.List:
while man.ability > 0:
man.doWork()
self.work -= 5
if self.work == 0:
self.endWork()
break
if self.work > 0:
print(“需要雇佣员工啦!还有{}任务量哦!”.format(self.work))
# 结束工作,打印能量值
def endWork(self):
for i in self.List:
i.str()
E1 = Employee(‘001’, 30)
E1.str()
E2 = Employee(‘002’, 40)
E2.str()
E3 = Employee(‘003’, 50)
E3.str()
B = Boss(20000, 1000, [E1, E2, E3])
B.startWork()