需求:
1.房子(House)户型、总面积和家具名称列表
·新房子没有任何家具、
2.家具(HouseItem)有名字和占地面积,其中:
·席梦思(bed)占地4平米
·衣柜(chest)占地2平米
·餐桌(table)占地1.5平米
3.将以上三件家具添加到房子中
4.打印房子时,要求输出:户型、总面积、家具名称列表
剩余面积:
1.在创建房子对象时,定义一个剩余面积属性,初始值和总面积相等
2.当调用add_item方法,向房间添加家具时,让剩余面积-=家具面积
添加家具:
1.判断家具面积是否超过房子面积,如果超过提示不能添加这件家具
2.将家具名称追加到家具列表中
3.用房子的剩余面积-家具面积
class HouseItem: """家具类""" def __init__(self,name,area): self.name=name self.area=area
def __str__(self): return "[%s] 占地%.2f平米" % (self.name,self.area)
class House: """房子类""" def __init__(self,house_type,area): self.house_type=house_type self.area=area self.free_area=area self.item_list=[]
def __str__(self): return "户型:%s\n总面积:%.2f[剩余:%.2f]\n家具%s" \ % (self.house_type,self.area,self.free_area,self.item_list)
def add_item(self,item): print("要添加%s" % item) if self.free_area>=item.area: self.item_list.append(item.name) self.free_area-=item.area else: print("%s的面积太大了,不能添加!" % item.name)
bed=HouseItem("席梦思",4) chest=HouseItem("衣柜",2) table=HouseItem("餐桌",1.5)
my_home=House("两室一厅",70)
my_home.add_item(bed) my_home.add_item(chest) my_home.add_item(table)
print(my_home)
|
执行效果: