窝在家里写程序 发表于 2020-12-17 15:47:56

求大神解答!!!

class HouseItem:

    def __init__(self,name,area):

      self.name = name
      self.area = area

    def __str__(self):

      return f"{self.name},占地{self.area}"

class House:

    def __init__(self,house_type,area):

      self.house_type = house_type
      self.area = area

      #剩余面积
      self.free_area = area

      #家具名称列表
      self.itme_list =[]

    def __str__(self):

      return f"户型:{self.house_type},总面积:{self.area},剩余面积:{self.free_area}"

    def add_item(self,item):

      print(f"要添加{item}")
      #1.判断家具的面积
      if item.area > self.free_area:
            print(f"{self.name}的面积太大,不能添加到房子中")

            return

      #2.将家具的名称添加到列表中
      self.itme_list.append(item.name)

      #3.计算剩余面积
      self.free_area -= item.area

#1.创建家具
bed = HouseItem("席梦思",4)
chest = HouseItem("衣柜",2)
table = HouseItem("桌子",1.5)
print(f"{bed}\n{chest}\n{table}")

my_home = House("两室一厅",60)

my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)

print(my_home)







不明白为什么判断家具的面积用的是itme.area

笨鸟学飞 发表于 2020-12-18 09:45:42

例如:
my_home.add_item(bed)
--->
    def add_item(self,item):# 此时bed作为 item参数就传入了函数

      print(f"要添加{item}")
      #1.判断家具的面积
      if item.area > self.free_area:    # 这里判断意思就是bed.area和my_home.free_area作比较
            print(f"{self.name}的面积太大,不能添加到房子中")

            return

      #2.将家具的名称添加到列表中
      self.itme_list.append(item.name)

      #3.计算剩余面积
      self.free_area -= item.area
页: [1]
查看完整版本: 求大神解答!!!