python怎么创建包房_用Python写一个摆放家具的小项目

首先我们要搞清楚摆放家具有哪些需求?房子(House)有户型、总面积和家具名称列表新房子刚开始没有任何的家具

2.家具(HouseItem)有名字和占地面积,其中席梦思(bed)占地5平米

电视柜(tvtable)占地2平米

餐桌(table)占地1.5平米

3.将以上三件家具添加到房子中

4.打印房子时,要求输出:户型、总面积、剩余面积、家具名称列表

剩余面积

1.在创建房子对象时,定义一个剩余面积的属性,初始值和总面积相等

2.当调用add_item方法,向房间添加家具时,让剩余面积-=家具面积(剩余面积=剩余面积-家具面积)

思考:应该先开发哪一个类

答案--家具类

1.家具简单

2.房子要使用家具,被使用的类,通常应该先开发

定义家具类

class HouseItem:

def __init__(self,name,area):

self.name=name

self.area=area

def __str__(self):

return "【%s】 家具添加完成,占地面积为%.2f" %(self.name,self.area)

bed=HouseItem("席梦思",5)

tvtable=HouseItem("电视柜",2)

table=HouseItem("餐桌",1.5)

定义房子类

在定义房子的属性的时候,我们只需要定义户型和总面积,因为剩余面积起始值就相当于总面积,房子中的家具其实也为空列表,不需要定义。

class HouseItem:

# 家具的名字和面积

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.item_list=[]

def __str__(self):

# Python 能够自动将一对括号内部的代码连接到一起

return ("户型:%s\n 总面积:%.2f[剩余面积:%.2f]\n 家具:%s"

%(self.house_type,self.area,

self.free_area,self.item_list))

def add_item(self,item):

print("要添加%s" %item)

# 1.判断家具的面积

if item.area>self.free_area:

print("%s 的面积太大了,无法添加" %item.name)

return

# 2.将家具的名称添加到列表中

self.item_list.append(item.name)

# 3.计算剩余面积

self.free_area-=item.area

# 1.创建家具对象

bed=HouseItem("席梦思",5)

tvtable=HouseItem("电视柜",2)

table=HouseItem("餐桌",1.5)

print(bed)

print(tvtable)

print(table)

# 2.创建房子的对象

house=House("小居室",80)

house.add_item(bed)

house.add_item(tvtable)

house.add_item(table)

print(house)

小结

主程序只负责创建房子对象和家具对象

让房子对象调用add_item方法将家具添加到房子中

面积计算,剩余面积,家具列表等处理都被封装到房子类的内部

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值