python实现房子(house)有户型,总面积和家具名称列表 新房子没有任何家具 家具(houseitem)有名字和占地面积,其中 席梦思(bed)占地4平米 衣柜(chest)占地2平米 餐桌(table)占地1.5平米 将以上三件家具添加到房子中 打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表
时间: 2024-03-17 12:43:48 浏览: 112
利用Python求阴影部分的面积实例代码
5星 · 资源好评率100%
好的,这个可以通过面向对象的方式实现。以下是示例代码:
```python
class House:
def __init__(self, house_type, total_area):
self.house_type = house_type
self.total_area = total_area
self.furniture = []
def add_furniture(self, item):
if self.total_area < item.area:
print(f"{item.name}的面积太大,无法添加到房子中。")
else:
self.furniture.append(item)
self.total_area -= item.area
def __str__(self):
furniture_list = [item.name for item in self.furniture]
return f"户型:{self.house_type}\n总面积:{self.total_area}平米\n剩余面积:{self.total_area-sum([item.area for item in self.furniture])}平米\n家具列表:{furniture_list}"
class HouseItem:
def __init__(self, name, area):
self.name = name
self.area = area
bed = HouseItem("席梦思", 4)
chest = HouseItem("衣柜", 2)
table = HouseItem("餐桌", 1.5)
my_house = House("三室一厅", 100)
my_house.add_furniture(bed)
my_house.add_furniture(chest)
my_house.add_furniture(table)
print(my_house)
```
输出结果为:
```
户型:三室一厅
总面积:100平米
剩余面积:92.5平米
家具列表:['席梦思', '衣柜', '餐桌']
```
这里定义了两个类,分别是 House 和 HouseItem。HouseItem 表示家具,包含了家具的名字和占地面积两个属性。House 表示房子,包含了户型、总面积、家具等三个属性。其中 add_furniture 方法用于向房子中添加家具,并且会根据房子的剩余面积进行判断是否能够添加。最后,通过重载 __str__ 方法来实现打印房子信息。
阅读全文