#1)房子有户型,总面积和家具名称列表
#新房子没有任何的家具
#2)家具有名字和占地面积,其中
#床:占4平米
#衣柜:占2平面
#餐桌:占1.5平米
#3)将以上三件家具添加到房子中
#4)打印房子时,要求输出: 户型,总面积,剩余面积,家具名称列表
class house(): def __init__(self, house_type, area): self.house_type = house_type self.area = area self.free_area = area self.jialu_list=[] def add_jiaju(self, jiaju2): if jiaju2.use_area > self.free_area: print('%s家具过大,无法摆放'%(jiaju2.name)) # 格式要一致 self.jialu_list.append(jiaju2.name) self.free_area -= jiaju2.use_area def __str__(self): return f'户型{self.house_type}总面积:{self.area},剩余面积:{self.free_area},家具名称列表:{self.jialu_list}' class jiaju(): def __init__(self, name, use_area): self.name = name self.use_area = use_area def __str__(self): return f'{self.name}家具占地面积为{self.use_area}平方米' chuang = jiaju('chuang', 4) print(chuang) yigui = jiaju('yigui', 2) print(yigui) canzhuo = jiaju('canzhuo', 1.5) print(canzhuo) myhouse = house('四室两厅', 128) myhouse.add_jiaju(chuang) myhouse.add_jiaju(yigui) myhouse.add_jiaju(canzhuo) print(myhouse)
#二、2、需求:
#1)士兵瑞恩有一把AK47
#2)士兵可以开火(士兵开火扣动的是扳机)
#3)枪能够发射子弹(把子弹发射出去)
#4)枪能够装填子弹 - -增加子弹的数量
class shibing: def __init__(self,name,gunobject): self.name=name self.gun=gunobject def kaihuo(self): if self.gun.name==[]: print(f'{self.name}没有枪支') return print(f'{self.name}拿枪,扣动扳机') self.gun.zhuangtianzidan(50) self.gun.fashe() class gun: def __init__(self,name): self.name=name self.zidannum=0 def fashe(self): if self.zidannum<=0: print('没有子弹,无法发射') return self.zidannum-=1 print(f'{self.name}子弹发射成功') def zhuangtianzidan(self,num): self.zidannum += num AK47 = gun('AK47') ruien = shibing('ruien', AK47) ruien.kaihuo()
#三、编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。
#实现思路及关键代码:
#1)定义乐器类Instrument,包括makeSound()
#方法,此方法中乐器声音:"乐器发出美妙的声音!"
#2)定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin
#二胡Erhu声音:"二胡拉响人生"
#钢琴Piano声音:"钢琴美妙无比"
#小提琴Violin声音:"小提琴来啦"
#3)用main类,多态的方式对不同乐器进行切换
class Instrument: #父类 def makeSound(self): print('乐器发出美妙的声音') class erhu(Instrument): #子类 def makeSound(self): print('二胡拉响人生') class piano(Instrument): #子类 def makeSound(self): print('钢琴美妙无比') class violin(Instrument): #子类 def makeSound(self): print('小提琴来了') def a(self): #不同的子类调用这个相同的方法 self.makeSound() if __name__=='__main__': e=erhu(); p=piano(); v=violin(); #a=a(e); #a = a(p); a = a(v);