python案例实操_9.1.实操案例 - 放家具

本文通过Python代码展示了如何创建一个`Home`类来模拟房间,并实现放置家具(如床)的功能。房间类包含面积、是否开灯等属性,以及容纳物品的方法。床类则定义了床的面积和名称。通过实例化房间和床,演示了如何将床放入房间并检查房间状态。最后,尝试放置一张超出房间面积的床,展示了错误处理情况。文章还提出添加开关灯功能的思考,以增强房间类的实用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

##应用:放家具

### 代码实现

~~~

# 定义一个Park类

class Home:

def __init__(self, area):

self.area = area #房间剩余的可用面积

# self.light = 'on' #灯默认是亮的

self.containsItem = []

def __str__(self):

msg = "当前房间可用面积为:" + str(self.area)

if len(self.containsItem) > 0:

msg = msg + " 容纳的物品有: "

for temp in self.containsItem:

msg = msg + temp.getName() + ", "

msg = msg.strip(", ")

return msg

# 容纳物品

def accommodateItem(self,item):

# 如果可用面积大于物品的占用面积

needArea = item.getUsedArea()

if self.area > needArea:

self.containsItem.append(item)

self.area -= needArea

print("ok:已经存放到房间中")

else:

print("err:房间可用面积为:{}但是当前要存放的物品需要的面积为{}".format(self.area, needArea))

# 定义bed类

class Bed:

def __init__(self,area,name = '床'):

self.name = name

self.area = area

def __str__(self):

msg = '床的面积为:' + str(self.area)

return msg

# 获取床的占用面积

def getUsedArea(self):

return self.area

def getName(self):

return self.name

# 创建一个新家对象

newHome = Home(100)#100平米

print(newHome)

# 创建一个床对象

newBed = Bed(20)

print(newBed)

# 把床安放到家里

newHome.accommodateItem(newBed)

print(newHome)

# 创建一个床对象

newBed2 = Bed(30,'席梦思')

print(newBed2)

# 把床安放到家里

newHome.accommodateItem(newBed2)

print(newHome)

~~~

:-: ![](https://img.kancloud.cn/5a/78/5a7888087941cfadf3d2bf6b8d3c438b_419x198.png)

#### 总结:

* 如果一个对象与另外一个对象有一定的关系,那么一个对象可用是另外一个对象的属性

#### 思维升华:

* 添加“开、关”灯,让房间、床一起亮、灭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值