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

本文介绍了如何创建一个房屋类`House`,包括其户型、总面积、剩余面积和家具列表属性。通过`HouseItem`类定义了不同家具的占地面积,并实现了家具添加功能。当尝试添加的家具面积超过剩余面积时,系统会提示无法添加。最后,展示了如何向房子中添加席梦思、衣柜和餐桌,并打印出房屋信息。
摘要由CSDN通过智能技术生成
# 房子(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)

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值