目录
1.题目
往房子里面添加家具,每添加一个家具,房子面积就减少家具的面积
要求输出房子的户型,剩余面积,地址,并且输出房子里面有些什么家具
2.效果
3.思路
(1)创建一个床类:
-
初始化数据里面有:
家的户型,面积,地址,家具列表
要求显示房子里面有什么家具,想到用列表来接收家具,依次往列表中添加家具
-
添加家具的方法:
添加好家具以后,房子的面积就会变成当前房子的面积减去家具的面积
-
输出内容要求显示:
剩余面积(),户型(),在()买的房子
(2)创建一个床类:
-
初始化数据里面有:
家具的名字,面积
-
输出的内容要求显示:
()的面积是()
(3)创建一个沙发类
同上面的床类的创建方式一样,请大家自己补充
(4)以此类推,你想往房子里面放什么家具,就要创建对应的类
我在这选择的是床和沙发
(4)分别创建一个家对象 house,床对象 bad
(5)house调用添加家具的方法,再输出信息
4.代码
# 创建房子类:
# 房子的户型,面积,地址
class House:
def __init__(self, info, area, addr):
self.info = info
self.area = area
self.addr = addr
self.furniture_lst = [] # 用来保存家具名称
'''添加家具的方法'''
def add_furniture(self, furniture):
'''furniturn 接收传进来的对象'''
# house面积剩余面积=house当前面积-家具面积
self.area = self.area - furniture.area
self.furniture_lst.append(furniture.name) # 蒋家具的名称添加到家具列表中
def __str__(self):
msg = '剩余面积{},户型{},在{}买的房子,'.format(self.area, self.info, self.addr)
msg1 = '新添的设备{}'.format(self.furniture_lst)
return msg + msg1
# 创建床类:
class Bad:
def __init__(self, name, area):
self.name = name
self.area = area
def __str__(self):
msg = '{}面积是{}'.format(self.name, self.area)
lst = []
return msg
class Sofa:
def __init__(self, name, area):
self.name = name
self.area = area
def __str__(self):
msg = '{}的面积是{}'.format(self.name, self.area)
house = House('三室一厅', 130, '五方桥')
# print(house)
bad = Bad('上下铺', 2)
# print(bad)
house.add_furniture(bad)
print(house)
# 给房子再添家一个双人床
bad1 = Bad('双人床', 4)
house.add_furniture(bad1)
print(house)
sofa = Sofa('沙发', 3)
house.add_furniture(sofa)
print(house)