首页 > 其他分享 >案例:给房子置办家具

案例:给房子置办家具

时间:2023-07-19 21:45:38浏览次数:33  
标签:__ area self 房子 案例 置办 家具 furniture

 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)

 

标签:__,area,self,房子,案例,置办,家具,furniture
From: https://www.cnblogs.com/allenxx/p/17566852.html

相关文章

  • JVM系统优化实践(20):GC生产环境案例(三)
    您好,这里是「码农镖局」51CTO博客,欢迎您来,欢迎您再来~某新手开发工程师接到了一个保存Elasticsearch日志的任务,以供后续分析之用。但写代码的时候,误将保存日志的代码段弄成了无限循环,程序启动后,没用多久就崩溃了。另一名工程师在动态创建类时,没有实现动态代理机制,也就没有缓存动态生......
  • 使用 Apache SeaTunnel 实现 Kafka Source 解析复杂Json 案例
    版本说明:SeaTunnel:apache-seatunnel-2.3.2-SNAPHOT引擎说明:Flink:1.16.2Zeta:官方自带前言近些时间,我们正好接手一个数据集成项目,数据上游方是给我们投递到Kafka,我们一开始的技术选型是SpringBoot+Flink对上游数据进行加工处理(下文简称:方案一),由于测试不到位,后来到线上,发现......
  • 特殊案例分享
    描述   配置 natstaticoutbound10.4.207.11172.19.11.2descriptionDX_GJinterfaceGigabitEthernet0/5portlink-moderouteipaddress172.19.11.2255.255.255.252natoutbound2010nathairpinenablenatstaticenableiproute-static192.168.69......
  • 综合案例一-热词
    综合案例一-热词目录综合案例一-热词1、设计需求2、设计所需标签和CSS样式3、设计具体步骤4、遇到的问题设计图如下1、设计需求①需要鼠标放上去有显示透明②需要点击后跳转到相应页面且保留原页面2、设计所需标签和CSS样式所需标签:divCSS样式:伪类hover,颜色color,字大小fo......
  • 7.19-分摸 一枪2模(09案例分析)包括 分模-做虎口-做摸胚
      ......
  • 7.19-分模(接着上午那个案例 只不过多了开框,打螺丝,管理图层,顶针(丝筒针)中托司)这几个功能
    开框开在上下模核心的产品框位置(不开框的话打螺丝会穿透上下模的位置)正常情况下打螺丝会在上模框的位置打打在模仁位置的一半位置而不是直接打穿切记开框之后要移除参数螺丝打在上下模虎口的位置 ......
  • 自学前端-HTML5+CSS-综合案例一-热词
    综合案例一-热词目录综合案例一-热词1、设计需求2、设计所需标签和CSS样式3、设计具体步骤4、遇到的问题设计图如下1、设计需求①需要鼠标放上去有显示透明②需要点击后跳转到相应页面且保留原页面2、设计所需标签和CSS样式所需标签:divCSS样式:伪类hover,颜色color,字大小fo......
  • Entity Framework Core 使用案例
    数据库生成实体类代码NuGet:Microsoft.EntityFrameworkCoreMicrosoft.EntityFrameworkCore.Tools在程序包管理控制台中执行一下命令Scaffold-DbContext"Server=【地址】;Database=【数据库名字】;Uid=【用户名】;Pwd=【密码】;"Pomelo.EntityFrameworkCore.MySql-Output......
  • 拦截器入门案例
           ......
  • 维度建模实施步骤及案例
    1.背景    为了加深对维度建模步骤的理解,特此记录一下,维度建模主要分为以下四个步骤:选取业务过程 定义粒度选定维度确认事实构建架构2.实施选取业务过程(why)    某电商平台想了解平台运营情况,需要对每月,每天每个地区层级的订单量和销售金额进行统......