1、搬家具
class Furniture:
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,adress,area):
self.adress=adress
self.h_area=area
self.furniture_list=[]
self.free_area=area
def __str__(self):
# 自定义家具类,将该类对象添加到列表中,直接打印,显示的是对象地址
buf_list=[obj.name for obj in self.furniture_list]
if buf_list:
return f"房子的地址为:{self.adress}\n房子的占地面积为{self.h_area}平\n" \
f"剩余面积为{self.free_area}"\
f"\n家具有{','.join(buf_list)}"
else:
return f"房子的地址为:{self.adress}\n房子的占地面积为{self.h_area}平\n" \
f"剩余面积为{self.free_area}" \
f"\n家具还未添加"
def add_furniture(self,obj_furniture):
'''
obj_furniture: 家具类的对象
'''
if self.free_area>obj_furniture.area:
self.furniture_list.append(obj_furniture)
self.free_area-=obj_furniture.area
print(f'增添家具:{obj_furniture.name}')
else:
print('添加失败,换个房子')
pass
furniture=Furniture('豪华双人床',21)
print(furniture)
horse=House('西安石油大学',100)
print(horse)
horse.add_furniture(furniture)
print(horse)
2、烤地瓜
class Potato:
def __init__(self,):
self.status='生的'
self.total_time=0
self.name_list=[]
def __str__(self):
buf=','.join(self.name_list)
if self.name_list:
return f'地瓜的状态<<{self.status}>>,烧烤总时间<<{self.total_time}>>,烧烤的调料有<<{buf}>>'
else:
return f'地瓜的状态<<{self.status}>>,烧烤总时间<<{buf}>>,烧烤的调料未添加>>'
def cook(self,cook_time):
'''
[0,3) 生的
[3,6) 半生不熟
[6,8] 熟了
[8,oo) 烤糊了
'''
self.total_time+=cook_time
if self.total_time<3:
self.status='生的'
elif self.total_time<6:
self.status = '半生不熟'
elif self.total_time<8:
self.status='熟了'
else:
self.status = '烤糊了'
def add(self,name):
self.name_list.append(name)
potato=Potato()
print(potato)
potato.add('油')
potato.cook(3)
potato.add('辣椒面')
print(potato)