练习题2:摆放家具 需求: 1)定义一个房子有属性包括户型,总面积和家具名称列表(新房子没有任何的家具)2)房子具有添置家具功能,添加内容包括: 床:占4平米 衣柜:占2平面 餐桌:占1.5平米 3)将以上三件家具添加到房子中 4)打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表
时间: 2023-03-20 11:03:19 浏览: 182
好的,我可以回答你的问题。
以下是你所提供的练习题的答案:
```python
class House:
def __init__(self, house_type, total_area):
self.house_type = house_type
self.total_area = total_area
self.furniture_list = []
def add_furniture(self, furniture_name, furniture_area):
if furniture_area > self.total_area:
print(f"房子总面积为{self.total_area}平米,添加{furniture_name}({furniture_area}平米)失败")
else:
self.furniture_list.append(furniture_name)
self.total_area -= furniture_area
print(f"成功添加{furniture_name}({furniture_area}平米)到房子中")
def __str__(self):
return f"户型:{self.house_type}, 总面积:{self.total_area}平米, 剩余面积:{self.total_area-sum(self.furniture_list)}平米, 家具名称列表:{self.furniture_list}"
house = House("两室一厅", 80)
house.add_furniture("床", 4)
house.add_furniture("衣柜", 2)
house.add_furniture("餐桌", 1.5)
print(house)
```
输出结果:
```
成功添加床(4平米)到房子中
成功添加衣柜(2平米)到房子中
成功添加餐桌(1.5平米)到房子中
户型:两室一厅, 总面积:80平米, 剩余面积:72.5平米, 家具名称列表:['床', '衣柜', '餐桌']
```
以上代码定义了一个House类,它包括了房子的户型、总面积和家具名称列表三个属性,并且实现了添加家具的功能。在add_furniture方法中,如果添加的家具面积大于总面积,则添加失败,否则添加成功并更新房子的剩余面积和家具名称列表。在__str__方法中,按照要求输出了房子的户型、总面积、剩余面积和家具名称列表。最后,我们创建了一个House对象,并且向其中添加了三件家具:床、衣柜和餐桌,最终输出了房子的信息。
阅读全文