1)主程序只负责创建房子对象和家具对象。 2)让房子对象调用add_item方法将家具添加到房子中。 3)面具计算、剩余面积、家具列表等处理都被封装在房子类的内部。
代码
class Home: def __init__(self, home_name, area): self.home_name = home_name self.area = area self.freearea = area self.jiaju = [] def __str__(self): return "户型:{} \n总面积:{}\n剩余面积:{}\n家具名:{}".format(self.home_name, self.area, self.freearea, self.jiaju) def add_item(self, itm): print("添加", itm) # 判断家具的面积 if itm.area > self.freearea: print("{}的面积太大,无法添加!".format(itm.name)) return # 将家具的名称添加到列表 self.jiaju.append(itm.name) # 计算剩余面积 self.freearea -= itm.area class jiaju(): def __init__(self, name, area): self.name = name self.area = area def __str__(self): return "[{}]:占地 [{}] 平米".format(self.name, self.area) # 创建家具 bed = jiaju("床", 4) chest = jiaju('衣柜', 2) table = jiaju('餐桌', 1.5) # 创建房子 myhome = Home('三室一厅', 100) myhome.add_item(bed) myhome.add_item(bed) myhome.add_item(bed) myhome.add_item(chest) myhome.add_item(table) print(myhome)
3 条评论
牛啊牛啊
嘿嘿
(☆ω☆)