8、买房子-放家具

  房子已经成为了中国人不可回避的话题,朋友见面,你房子买了吗?TMD又涨价了。去相亲,你家买房了吗?在哪个位置,房子多大?等等种种问题,不胜枚举。房子都会买,无非是位置在哪里,房子有多大而已(当然不买也是可以的,只要你媳妇同意)。那么问题来了,买了房子,就放往房子里放家具。这里介绍一个程序,记录已买房子信息,存放家具的情况。

  大框架

class Home(object):
    """定义一个房子类"""
    def
    #房子面积
    #房子户型
    #房子地址
    #房子里的家具
    
    #添加一个方法把家具添加到房子里
    def add():
        pass
        
class Bed(object):
    """定义一个家具床"""
    def
    #床的名字
    #床的大小
    
fangzi = Home()
bed = Bed()
print(fangzi)

  根据大框架,填入细节

class Home:
    """定义一个房子的类"""
    def __init__(self,new_area,new_info,new_addr):
#属性
        self.area = new_area #房子的面积
        self.info = new_info #房子的户型
        self.addr = new_addr #房子的地址
        self.left_area = new_area #剩余面积初始面积
        self.contain_items = []    #房子里的家具

    def __str__(self):
        msg =  "房子的总面积为%d,剩余面积为:%d,户型是:%s,地址是:%s"%(self.area,self.left_area,self.info,self.addr)
        msg += "房子里的家具有%s"%(str(self.contain_items),)#内容太多分开写
        return msg

#方法

    #调用类Bed
    def add_item(self,item):
        #第一种调用方法
        #self.left_area -= item.area  #item就是被调用的Bed类的对象,加入一个剩余面积减少
        #self.contain_items.append(item.name)#添加一个家具存储到属性中

        #第二种调用方法
        self.left_area -= item.get_area()  #item就是被调用的Bed类的对象,加入一个剩余面积减少
        self.contain_items.append(item.get_name())#添加一个家具存储到属性中
        

class Bed:
    def __init__(self,new_name,new_area):
        self.name = new_name #床的名字
        self.area = new_area #床的面积
    
    def __str__(self):
        return "%s床的面积是:%d"%(self.name,self.area)

    #第二种方法中添加获取的方法
    def get_area(self):
        return self.area

    def get_name(self):
        return self.name


#创建一个房子的对象
fangzi = Home(130,"三室一厅","武汉市 武昌区 中北路52号")
print(fangzi)

#创建一个床的对象
bed1 = Bed("席梦思",4)
print(bed1)

#再添加一张床
bed2 = Bed("三人床",5)
print(bed2)

#把床放进房子里
fangzi.add_item(bed1)
fangzi.add_item(bed2)
print(fangzi)

  执行结果:

所有内容,仅作参考,可能有不足或错误之处,欢迎留言批评指正
原文地址:https://www.cnblogs.com/DreamRJF/p/8887746.html