栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python面向对象程序2)放置家具

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python面向对象程序2)放置家具

程序功能:
1)房子(House)有户型、总面积 和 家具名称列表

新房子无家具 2)家具(Houseltem) 有 名字 和 占地面积,其中

床(bed)占地 4 平方米 衣柜(chest)占地 2 平方米 餐桌(table)占地 1.5 平方米 3)将以上三件家具添加到房子中 4)打印房子时,要求输出:户型、总面积、剩余面积、家具名称列表

# 家具(HouseItem)类
class HouseItem:
    def __init__(self, name, area):
        # 家具名
        self.name = name
        # 家具占地面积
        self.area = area

    def __str__(self):
        return f"家具{self.name},占地{self.area}平方米。"


# 房子(House)类
class House:
    def __init__(self, house_type, area):
        # 房子户型
        self.house_type = house_type
        # 房子初始面积
        self.area = area
        # 房子剩余面积
        self.free_area = area
        # 家具名称列表
        self.item_list = []

    def __str__(self):
        return f"房子户型为{self.house_type}n" 
               f"总面积{self.area}平方米【剩余面积{self.free_area}平方米】n" 
               f"家具有:{self.item_list}"

    # 添加家具
    def add_item(self, item):
        print(f"添加{item}")
        # 判断家具面积
        if item.area > self.free_area:
            print(f"{item.name}的面积太大,无法添加。")
            return

        # 将家具的名称添加到列表中
        self.item_list.append(item.name)

        # 计算剩余面积
        self.free_area -= item.area


# 创建家具对象
bed = HouseItem("床", 4)
chest = HouseItem("衣柜", 2)
table = HouseItem("桌子", 1.5)

# 创建房子对象
home = House("三室两厅", 120)
home.add_item(bed)
home.add_item(chest)
home.add_item(table)
print("-" * 25)
print(home)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753042.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号