【练习】房子家具管理系统
项目简介
房屋家具管理系统
知识模块
- Python 编程语言
知识点
- 对象的封装
- 类的构造方法和实例属性
- for循环
受众
- 初级测试开发工程师
- 初级Python开发工程师
作业要求
编写一个Python程序: - 1.房子有户型,总面积和家具名称列表,新房子没有任何的家具。 - 2.家具有名字和占地面积,其中 - 床:占4平米 - 衣柜:占2平米 - 餐桌:占1.5平米 - 3.将以上三件家具添加到房子中 - 4.打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表
解题思路
-
首先创建一个房子类(House),包括房子的户型和总面积属性,以及一个家具列表属性。
-
在房子类中定义一个添加家具的方法(add_furniture),该方法接收一个家具对象作为参数。
-
在添加家具的方法中,首先判断房子的剩余面积是否足够容纳这件家具,如果足够,则将家具对象添加到家具列表中,同时更新房子的剩余面积。如果不够,打印提示信息。
-
创建一个家具类(Furniture),包括家具的名称和占地面积属性。
-
通过创建多个家具对象,设置它们的名称和占地面积。
-
创建一个房子对象(my_house),传入初始的户型和总面积。
-
调用房子对象的添加家具方法,依次将家具对象添加到房子中。
-
最后调用房子对象的打印信息方法(display)来展示房子的户型、总面积、剩余面积和家具名称列表。
完整代码
# 定义房子类
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, furniture):
if self.total_area >= furniture.area: # 判断剩余面积是否足够
self.furniture.append(furniture) # 添加家具到家具列表
self.total_area -= furniture.area # 更新剩余面积
print(f"{furniture.name}已添加到房子中")
else:
print(f"房子剩余面积不足,无法添加{furniture.name}")
# 展示房子信息
def display(self):
# 打印户型
print("户型:", self.house_type)
# 打印总面积
print("总面积:", self.total_area, "平米")
# 打印剩余面积
print("剩余面积:", self.total_area, "平米")
# 打印家具名称列表
print("家具名称列表:")
for furniture in self.furniture:#循环遍历家具列表,打印出每个家具的名字
print(furniture.name)
# 定义家具类
class Furniture:
def __init__(self, name, area):
self.name = name # 家具名称
self.area = area # 家具占地面积
# 创建房子对象
my_house = House("两室一厅", 100)
# 创建家具对象
bed = Furniture("床", 4)
wardrobe = Furniture("衣柜", 2)
table = Furniture("餐桌", 1.5)
# 添加家具到房子中
my_house.add_furniture(bed)
my_house.add_furniture(wardrobe)
my_house.add_furniture(table)
# 打印房子信息
my_house.display()
代码讲解
-
定义了一个房子类(House),包含了房子的户型、总面积和家具列表属性。
-
定义了一个家具类(Furniture),包含了家具的名称和占地面积属性。
-
在房子类中,定义了添加家具的方法(add_furniture),用于判断剩余面积是否足够添加家具,并更新房子的剩余面积和家具列表。
-
在房子类中,定义了展示房子信息的方法(display),打印房子的户型、总面积、剩余面积和家具名称列表。
-
创建了一个房子对象(my_house)以及几个家具对象(bed、wardrobe、table)。
-
调用房子对象的添加家具方法,将家具对象添加到房子中。
-
最后调用房子对象的展示信息的方法,打印出房子的信息。