需求:
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)


执行效果:
1