Skip to content

【练习】房子家具管理系统

项目简介

房屋家具管理系统

知识模块

  • Python 编程语言

知识点

  • 对象的封装
  • 类的构造方法和实例属性
  • for循环

受众

  • 初级测试开发工程师
  • 初级Python开发工程师

作业要求

编写一个Python程序: - 1.房子有户型,总面积和家具名称列表,新房子没有任何的家具。 - 2.家具有名字和占地面积,其中 - 床:占4平米 - 衣柜:占2平米 - 餐桌:占1.5平米 - 3.将以上三件家具添加到房子中 - 4.打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表

解题思路

  1. 首先创建一个房子类(House),包括房子的户型和总面积属性,以及一个家具列表属性。

  2. 在房子类中定义一个添加家具的方法(add_furniture),该方法接收一个家具对象作为参数。

  3. 在添加家具的方法中,首先判断房子的剩余面积是否足够容纳这件家具,如果足够,则将家具对象添加到家具列表中,同时更新房子的剩余面积。如果不够,打印提示信息。

  4. 创建一个家具类(Furniture),包括家具的名称和占地面积属性。

  5. 通过创建多个家具对象,设置它们的名称和占地面积。

  6. 创建一个房子对象(my_house),传入初始的户型和总面积。

  7. 调用房子对象的添加家具方法,依次将家具对象添加到房子中。

  8. 最后调用房子对象的打印信息方法(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()

代码讲解

  1. 定义了一个房子类(House),包含了房子的户型、总面积和家具列表属性。

  2. 定义了一个家具类(Furniture),包含了家具的名称和占地面积属性。

  3. 在房子类中,定义了添加家具的方法(add_furniture),用于判断剩余面积是否足够添加家具,并更新房子的剩余面积和家具列表。

  4. 在房子类中,定义了展示房子信息的方法(display),打印房子的户型、总面积、剩余面积和家具名称列表。

  5. 创建了一个房子对象(my_house)以及几个家具对象(bed、wardrobe、table)。

  6. 调用房子对象的添加家具方法,将家具对象添加到房子中。

  7. 最后调用房子对象的展示信息的方法,打印出房子的信息。