wcy1230 发表于 2021-3-26 23:48:27

实在是看不出有啥问题啊

#家具类
class HouseItem:
    def __init__(self, name, area):
      self.name = name
      self.area = area

    def __str__(self):
      return "[%s]占地%.2f" % (self.name, self.item_area)

#房类
class House:
    def __init__(self, house_type, area):
      self.house_type = house_type
      self.area = area
      self.free_area = area
      self.item_list = []

    def __str__(self):
      return ("户型为%s\n面积为%.2f[剩余%.2f]\n家具有%s"
                % (self.house_type, self.area, self.free_area, self.item_list))

    def add_item(self, item):
      print("增加%s" % item.name)
      if item.area > self.free_area:
            print("%s太大了,无法添加" % item.name)
            return
      self.item_list.append(item.name)
      self.free_area -= item.area

bed = HouseItem("席梦思", 4)
chest = HouseItem("衣柜", 2)
table = HouseItem("餐桌", 1.5)
print(bed)
print(chest)
print(table)

#创建一个对象
my_home = House("两室一厅", 100)
my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)
print(my_home)

suchocolate 发表于 2021-3-27 17:09:18

第8行字写多了,改成:self.area
return "[%s]占地%.2f" % (self.name, self.area)
页: [1]
查看完整版本: 实在是看不出有啥问题啊