一、摆放家具 需求: 1)房子有户型,总面积和家具名称列表 新房子没有任何的家具 2)家具有名字和占地面积,其中 床:占4平米 衣柜:占2平面 餐桌:占1.5平米 3)将以上三件家具添加到房子中 4)打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表
class Furniture():
def __init__(self,name,area):
self.name = name
self.area = area
def info(self):
print('{}占地{}平米'.format(self.name,self.area))
class House():
def __init__(self,house_type,area):
self.house_type = house_type
self.area = area
self.freeArea = area
self.furnitureList = []
def infos(self):
print('户型:{},总面积:{},剩余面积:{},家具:{}'.format(self.house_type,self.area,self.freeArea,self.furnitureList))
def add_furniture(self,furnitures):
if furnitures.area > self.freeArea:
print('{}面积太大了,放不下'.format(furnitures.name))
return
self.furnitureList.append(furnitures.name)
self.freeArea -= furnitures.area
bed = Furniture('床',20)
bed.info()
wardrobe = Furniture('衣柜',2)
wardrobe.info()
desk = Furniture('餐桌',4.5)
desk.info()
my_house = House('两室一厅',100)
my_house.add_furniture(bed)
my_house.add_furniture(wardrobe)
my_house.add_furniture(desk)
my_house.infos()
二、需求: 1)士兵瑞恩有一把AK47 2)士兵可以开火(士兵开火扣动的是扳机) 3)枪 能够 发射子弹(把子弹发射出去) 4)枪 能够 装填子弹 --增加子弹的数量
class Gun():
def __init__(self,type):
self.type = type
self.bullet_count = 0
def add_bullet(self,count):
self.bullet_count += count
def send_bullet(self):
if self.bullet_count <=0:
print('{}没有子弹了。。。。'.format(self.type))
return
self.bullet_count -= 1
print('{}发射了{}子弹'.format(self.type,self.bullet_count))
class Soldier():
def __init__(self,name,gun):
self.name = name
self.gun = gun
def fire(self):
if self.gun == None:
print('{}没有枪'.format(self.name))
return
self.gun.add_bullet(300)
self.gun.send_bullet()
ak47 = Gun('AK47')
ryan = Soldier('Ryan',ak47)
ryan.fire()
三、编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。 实现思路及关键代码: 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('小提琴来啦')
class Main():
def play(self,obj):
#print('请问你要弹奏什么乐器?')
obj.makeSound()
main = Main()
v = Violin()
p = Piano()
erhu = Erhu()
main.play(v)