Python:面向对象练习-向房间填家具

# 房子(House)有户型(house_type),总面积(total_area),剩余面积(free_area),家具名称列表属性(furniture_list)
# 新房子没有任何的家具
# 将家具的名称追加到家具名称列表中
# 判断家具的面积是否超过剩余面积,如果超过,提示不能添加这件家具

# 家具(HouseItem)有名字(name)和占地面积属性(area),其中
# 席梦思(bed)占地4平米
# 衣柜(chest)占地2平米
# 餐桌(table)占地1.5平米
# 将以上三件家具添加到房子中
# 打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表

class House(object):
    def __init__(self,house_type,total_area,furniture_list=None):
        if furniture_list is None:
            furniture_list = []
        self.house_type = house_type
        self.total_area = total_area
        self.furniture_list = furniture_list
        self.free_area = total_area * 0.6

    def add_fur_list(self,x):
        print('将家具填加到房子里')
        if self.free_area < x.area:
            print('剩余面积不足')
        else:
            self.furniture_list.append(x.name)
            self.free_area -= x.area

    def __str__(self):
        return '户型{},总面积{},剩余面积{},家具名称列表{}'.format(self.house_type,self.total_area,self.free_area,self.furniture_list)

class HouseItem(object):
    def __init__(self,name,area):
        self.name = name
        self.area = area
house = House('两室一厅',60)
bed = HouseItem('席梦思',4)
chest = HouseItem('衣柜',2)
table = HouseItem('餐桌',1.5)
house.add_fur_list(bed)
house.add_fur_list(chest)
house.add_fur_list(table)
print(house)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42161670/article/details/112958500