python 【面向对象实例】

最近在看黑马的Python学习视频,写一个实例练练手
在这里插入图片描述这是题目要求
话不多说,上代码

#!/usr/bin/python
# -*- coding: UTF-8 -*-

class Furniture :      #家具类
    def __init__(self, name, area):
        self.name = name    #属性:名字以及占地面积
        self.area = area

    def __str__(self):
        return '%s 占地面积为 %.1f 平方米' %(self.name, self.area)

class Home :        #家类
    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】\n总面积为: %.2f\n剩余面积为: %.2f\n家具: %s'
                %(self.house_type, self.area, self.free_area, self.furniture_list))

    def add_furniture(self, furniture):    #添加家具方法
        if self.free_area < furniture.area :   #先判断房屋面积够不够
            print('房子放不下%s啦!' %(furniture.name))
            return
        self.furniture_list.append(furniture.name)
        self.free_area -= furniture.area




bed = Furniture('席梦思', 4)
chest = Furniture('衣柜', 2)
table = Furniture('餐桌', 1.5)
home_1 = Home('三室一厅', 200)
home_2 = Home('四室两厅', 300)
home_1.add_furniture(bed)
home_1.add_furniture(table)
home_2.add_furniture(chest)

print(bed)
print(chest)
print(table)
print(home_1)
print('')
print(home_2)

这是结果:

席梦思 占地面积为 4.0 平方米
衣柜 占地面积为 2.0 平方米
餐桌 占地面积为 1.5 平方米
户型为【三室一厅】
总面积为: 200
剩余面积为: 194
家具: ['席梦思', '餐桌']

户型为【四室两厅】
总面积为: 300
剩余面积为: 298
家具: ['衣柜']
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值