Python学习 - 类 - 房子和家具例子

# coding:utf-8

# 房子
# 属性:户型,面积,剩余面积,家具列表
# 方法:添加家具
#
# 家具
# 属性:名称,占地面积

class Furniture:
    def __init__(self, name, area):
        self.name = name
        self.area = area

    def __str__(self):
        return '家具:%s 所占面积:%.2f' %(self.name, self.area)

class House:
    def __init__(self, house_type, area):
        self.house_type = house_type
        self.area = area
        self.free_area = area
        self.furniture_list = []

    def __str__(self):
        return '房子的户型%s 面积%.2f 剩余面积%.2f 家具列表%s'\
               %(self.house_type,self.area,self.free_area,self.furniture_list)

    def add_furniture(self,furniture):

        print '添加家具 %s 所占面积:%.2f' %(furniture.name,furniture.area)
        if self.free_area < furniture.area:
            print '家具 %s 面积超过了剩余面积' %furniture.name
            return
        self.furniture_list.append(furniture.name)
        self.free_area-=furniture.area



bed = Furniture('bed',3)
table = Furniture('table',4)
cabinet = Furniture('cabinet',2)

print bed
print table
print cabinet


my_house = House('别墅',200)
print my_house

my_house.add_furniture(bed)
my_house.add_furniture(table)
my_house.add_furniture(cabinet)

print my_house
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值