本文已参与「新人创作礼」活动,一起开启掘金创作之路。
般家具
需求:将小于房子剩余面积的家具摆放到房子里
步骤
定义两个类,一个是房子类,一个是家具类
定义类
房子类
- 实例属性
房子地理位置
房子占地面积
房子剩余面积
房子内家具列表
- 实例方法
容纳家具
- 显示房屋信息
家具类
家具名称
家具占地面积
代码实现
定义类
家具类
class jiaju():
#设置一个初始化
#name是名称,area是占地面积,由于家具的多样化和占地面积不一样,所以我们不能固定家具名称和家具的占地面积,由用户传输进来,所以定义两个形参
def __init__(self,name,area):
#家具名称
self.name = name
#家具占地面积
self.area = area
定义对象
就是设置好家具的名称和占地面积
class jiaju():
#设置一个初始化
#name是名称,area是占地面积,由于家具的多样化和占地面积不一样,所以我们不能固定家具名称和家具的占地面积,由用户传输进来,所以定义两个形参
def __init__(self,name,area):
#家具名称
self.name = name
#家具占地面积
self.area = area
#家具
shuangrenchuang = jiaju('双人床',6)
safa = jiaju('沙发',4)
kongtiao = jiaju('空调',1)
bingxiang = jiaju('冰箱',2)
房子类
class jiaju():
#设置一个初始化
#name是名称,area是占地面积,由于家具的多样化和占地面积不一样,所以我们不能固定家具名称和家具的占地面积,由用户传输进来,所以定义两个形参
def __init__(self,name,area):
#家具名称
self.name = name
#家具占地面积
self.area = area
#房子类
class fangzhi():
def __init__(self,address,area):
#地理位置
self.address = address
#房子面积
self.area= area
#剩余面积
self.free_area = area
#家具列表
self.furniture = []
def __str__(self):
return f'房子坐落于{self.address},占地面积{self.area},剩余面积{self.free_area},家具有{self.furniture}'
#家具
shuangrenchuang = jiaju('双人床',6)
safa = jiaju('沙发',4)
kongtiao = jiaju('空调',1)
bingxiang = jiaju('冰箱',2)
#房子
jia1 = fangzhi('北京',1000)
print(jia1)
容纳家具
class jiaju():
#设置一个初始化
#name是名称,area是占地面积,由于家具的多样化和占地面积不一样,所以我们不能固定家具名称和家具的占地面积,由用户传输进来,所以定义两个形参
def __init__(self,name,area):
#家具名称
self.name = name
#家具占地面积
self.area = area
#房子类
class fangzhi():
def __init__(self,address,area):
#地理位置
self.address = address
#房子面积
self.area= area
#剩余面积
self.free_area = area
#家具列表
self.furniture = []
def __str__(self):
return f'房子坐落于{self.address},占地面积{self.area},剩余面积{self.free_area},家具有{self.furniture}'
#容纳家具
def add_furniture(self,item):
"""容纳家具"""
#判断房子面积是否大于等于家具面积,是就执行
if self.free_area >= item.area:
#添加家具信息
self.furniture.append(item.name)
#家具搬入后,房屋剩余面积=之前剩余的减去家具面积
#获得剩余房子面积
self.free_area -= item.area
else:
print('家具太大,剩余面积不足,无法容纳')
#家具
shuangrenchuang = jiaju('双人床',6)
safa = jiaju('沙发',4)
kongtiao = jiaju('空调',1)
bingxiang = jiaju('冰箱',2)
lanqiuchang = jiaju('篮球场',20000)
#房子
jia1 = fangzhi('北京',1000)
print(jia1)
jia1.add_furniture(shuangrenchuang)
jia1.add_furniture(safa)
jia1.add_furniture(kongtiao)
jia1.add_furniture(bingxiang)
jia1.add_furniture(lanqiuchang)
print(jia1)
\