zoukankan      html  css  js  c++  java
  • python面向对象编程: 搬家具案例

    完整代码

    # 搬家具
    # 需求:将小于房子剩余面积的家具摆放到房子中
    # 定义类
    # 先定义家具类
    class Furniture():
        def __init__(self,name,area):
            # 家具名字
            self.name = name 
            # 家具占地面积
            self.area = area 
    
    
    
    # 定义房子类
    class House():
        def __init__(self,address,area):
            self.address = address
            self.area = area 
            self.free_area = area 
            self.furnitue = []
    
        def __str__(self):
            return '房子的地理位置是%s,房屋的面积是%s,剩余面积%s,家具有%s'%(self.address,self.area,self.free_area,self.furnitue)
    
        def add_furniture(self,item):
            # 容纳家具
            # 如果家具占地面积小于剩余面积可以搬入,家具列表添加家具名字,房屋剩余面积更新,否则,无法容纳
            if item.area <= self.free_area:
                self.furnitue.append(item.name)
                self.free_area -= item.area
            else:
                print("面积不足,容纳不下")
    

    进行代码测试

    bed = Furniture('床',6)
    sofa = Furniture('沙发',10)
    ballchang = Furniture('篮球场',2000)
    
    home1 = House('北京',1000)
    print(home1)  #房子的地理位置是北京,房屋的面积是1000,剩余面积1000,家具有[]
    home1.add_furniture(bed)
    print(home1)  #房子的地理位置是北京,房屋的面积是1000,剩余面积994,家具有['床']
    home1.add_furniture(sofa)
    print(home1)  #房子的地理位置是北京,房屋的面积是1000,剩余面积984,家具有['床', '沙发']
    home1.add_furniture(ballchang)
    print(home1)  #面积不足,容纳不下
    # 房子的地理位置是北京,房屋的面积是1000,剩余面积984,家具有['床', '沙发']
    
  • 相关阅读:
    Excel设置下拉选项的方法
    Codeforces Round #218 (Div. 2) (线段树区间处理)
    手动配置S2SH三大框架报错(一)
    一种H.264高清视频的无参考视频质量评价算法(基于QP和跳过宏块数)
    UIWebView的使用
    AFNetworkIng的简单使用
    虚线边框的实现
    iOS实现简单时钟效果
    hdu 3966 Aragorn's Story
    Count on a tree
  • 原文地址:https://www.cnblogs.com/faberbeta/p/13858157.html
Copyright © 2011-2022 走看看