搬家具

# 需求: 将不同的家具放入房子中

class Home:
“”“房子类”“”
def init(self, address, area):
self.address = address # 房子的地址
self.area = area # 房子的面积
self.items = [] # 记录房子中所有的家具(对象)
self.free_area = area # 剩余面积

def __str__(self):
    # 房子在:%s, 面积为%d, 家具有: 双人床,冰箱
    result_str = "房子在:%s, 面积为%d, 剩余面积为%d" % (self.address, self.area, self.free_area)
    # 判断是否有家具
    if len(self.items) > 0:  # 有家具
        result_str += ",包含的家具有:"
        # 取出每个家具的名称并拼接
        for item in self.items:
            result_str += item.name + ","
        result_str = result_str.rstrip(",")
    return result_str

def add_item(self, item):
    """添加家具"""
    # 先判断房子能否容纳该家具
    result_area = self.free_area - item.area
    if result_area >= 0:
        self.items.append(item)
        self.free_area -= item.area  # 加入家具,相应的剩余面积需要减少
    else:
        print("房子剩余面积不足,无法容纳该家具")

class Item:
“”“家具类”“”
def init(self, name, area):
self.name = name # 家具的类型
self.area = area # 家具占用的面积
self.color = “黑”

def __str__(self):
    return "家具:%s, 占用面积:%d" % (self.name, self.area)


# 创建房子
fangzi1 = Home("北京市盘古大观", 200)
print(fangzi1)
# 创建家具
item1 = Item("双人床", 4)
print(item1)
# 将家具放入房子中
fangzi1.add_item(item1)
print(fangzi1)

# 再添加一个家具
item2 = Item("冰箱", 1)
print(item2)
fangzi1.add_item(item2)
print(fangzi1)


# 再添加一个家具
item3 = Item("篮球场", 420)
print(item3)
fangzi1.add_item(item3)
print(fangzi1)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值