案例:给房子置办家具

复制代码
 1 '''
 2 给一套房子装修即房子里面添加家具
 3 1. 家具的属性
 4     1. 名称
 5     2. 大小/面积
 6 2. 房子的属性
 7     1. 位置
 8     2. 总面积
 9     3. 空闲面积
10 3. 房子的行为:
11     1. 置办家具
12 '''
13 
14 
15 class Furniture:  # 类定义有名称后面还有1个(),没有指定继承类时可以省略
 16 ''' 17  家具类 18 ''' 19 20 def __init__(self, name, area): 21 self.name = name 22 self.area = area 23 24 def __str__(self): 25 return self.name 26 27 28 class Home(): 29 ''' 30  房子类 31 ''' 32 33 # 构造器 34 def __init__(self, address, area): 35 # 房子的位置 36 self.address = address 37 # 房子的总面积 38 self.area = area 39 # 房子剩余面积(其他面积布置了家具) 40 self.free_area = area 41 # 新建房子,是空空的 42 self.furnitures = [] 43 44 def __str__(self): 45 furniture_names = [furniture.name for furniture in self.furnitures] 46 # return f'房子地理位置在{self.address},房子面积是{self.area},房子剩余面积是{self.free_area},房子有家具{self.furnitures}' 47 return f'房子地理位置在{self.address},房子面积是{self.area},房子剩余面积是{self.free_area},房子有家具{furniture_names}' 48 49 # 置办家具 50 def add_furniture(self, item): 51 if item.area <= self.free_area: 52  self.furnitures.append(item) 53 self.free_area = self.area - item.area 54 else: 55 print(f"家具{item}太大,剩余面积不足,无法容纳") 56 57 58 if __name__ == '__main__': 59 # 创建床、沙发对象 60 bed = Furniture("双人床", 6) 61 sofa = Furniture("沙发", 10) 62 63 home = Home("南京", 666) 64 print(home) # 房子地理位置在南京,房子面积是666,房子剩余面积是666,房子有家具[] 65 # 置办家具床 66  home.add_furniture(bed) 67 # 置办家具沙发 68  home.add_furniture(sofa) 69 # print(home) # 房子地理位置在南京,房子面积是666,房子剩余面积是656,房子有家具[<__main__.Furniture object at 0x0000018BE1B86750>, <__main__.Furniture object at 0x0000018BE1B868D0>] 70 print(home) # 房子地理位置在南京,房子面积是666,房子剩余面积是656,房子有家具['双人床', '沙发'] 71 72 basketball_court = Furniture("室内篮球场", 1000) 73 home.add_furniture(basketball_court)
复制代码

 

posted @   Allen_Hao  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示