#!/user/bin env python#author:Simple-Sir#time:2019/8/30 14:12#类的练习:老板与员工
classBoss():‘‘‘老板类
money : 老板的金额
workload : 工作量
emplist : 员工列表‘‘‘
def __init__(self,money,workload):
super(Boss,self)
self.money=money
self.workload=workload
self.emplist=[]defstaff(self,emp_obj):‘‘‘雇佣员工
:param emp_obj: 员工对象‘‘‘
if self.money >= 5000:
self.emplist.append(emp_obj)
self.money-= 5000
print(‘员工信息已添加!\n您一共有%s个员工‘%len(self.emplist))else:print(‘您的金额已不足,无法再招聘员工!‘)defstartWork(self):print(‘emmmm...您还没有员工,请先招聘员工。‘)
is_staff= ‘‘
while is_staff != ‘N‘:
name= input(‘员工姓名:‘).strip()
age= int(input(‘年龄:‘).strip())while age<18 or age>=65:if age <= 3 or age >= 70:print(‘嘿,朋友!走点心!尊老爱幼是中华名族的传统美德!‘)elif age >= 4 and age < 18:print(‘你确定要雇佣童工吗?‘)elif age >= 65:print(‘朋友,这已经是退休年龄了!‘)
age= int(input(‘年龄:‘).strip())
e=Employees(name, age)print(e) #查看员工信息
self.staff(e)if self.money >= 5000:
is_staff= input(‘您是否还要继续招聘员工?‘).strip().upper()else:print(‘您的资产已不足已再招聘一个员工了!将开始工作!‘)break
print(‘------ 所有员工信息 ------‘)for info inself.emplist:print(‘姓 名:%s\n年 龄:%s\n能力值:%s\n - - - - - - - - - - - - - - - -‘ %(info.name, info.age, info.ability))for e inself.emplist:while e.ability >=0:
e.work()
self.workload-= 5
if self.workload <=0:print(‘工作已完成‘)return
if self.workload >0:print(‘还有%s个工作量没做完,需要招聘新的员工!‘ %self.workload)defendWork(self):‘结束工作‘
if len(self.emplist) >0:print(‘----- 员工能力值 -----‘)for e inself.emplist:
e.ability= 0 if e.ability < 0 elsee.abilityprint(‘%s的能力值:%s‘%(e.name,e.ability))classEmployees(object):‘员工‘
def __init__(self,name,age):
self.name=name
self.age=age
self.ability= 100 -agedef __str__(self):‘员工信息‘
return ‘‘‘--- 员工信息 ---
姓名:%s
年龄:%s
能力值:%s‘‘‘%(self.name,self.age,self.ability)defwork(self):‘工作‘
print(‘%s正在工作....‘%self.name)
self.ability-= 5
defmain():
money= int(input(‘老板,您打算投资多少钱啊?\n‘).strip())while money < 5000:print(‘这么点钱还想当老板?再考虑考虑?‘)
money= int(input(‘老板,您到底打算投资多少钱啊?\n‘).strip())
workload= int(input(‘老板,您有多少工作要做呢?\n‘).strip())while workload <=0:print(‘您是大善人么?不用工作,还能拿工资!‘)
workload= int(input(‘好好想想,您到底有多少工作要做呢?\n‘).strip())
b=Boss(money,workload)
b.startWork()
b.endWork()if __name__ == ‘__main__‘:
main()