# 烤地瓜案例
# 1 定义类:初始化属性、被烤和添加调料的方法、显示对象信息的str
class SweetPotato():
# 定义地瓜的初始化属性
def __init__(self):
# 被烤的时间
self.cook_time = 0
# 烤的状态
self.cook_state = '生的'
# 调料列表
self.condiments = []
def cook(self,time):
# 烤地瓜的方法
# 1 先计算地瓜整体烤过的时间
self.cook_time +=time
# 用整体烤过的时间再判断地瓜状态
if 0 <= self.cook_time < 3:
self.cook_state = '生的'
elif 3<= self.cook_time < 5:
self.cook_state = '半生不熟'
elif 5<= self.cook_time < 8:
self.cook_state = '熟了'
elif self.cook_time >8:
self.cook_state = '烤糊了'
def add_condiments(self,condiment):
# 用户意愿的调料追加到调料列表
self.condiments.append(condiment)
def __str__(self):
return '地瓜烤了%s,状态是%s,调料有%s'%(self.cook_time,self.cook_state,self.condiments)
# 2 创建对象并调用对应的实例方法
digua1 = SweetPotato()
print(digua1) #地瓜烤了0,状态是生的,调料有[]
digua1.cook(2)
digua1.add_condiments('糖')
print(digua1) #地瓜烤了2,状态是生的,调料有['糖']
digua1.cook(2)
digua1.add_condiments('蜂蜜')
print(digua1) #地瓜烤了4,状态是半生不熟,调料有['糖', '蜂蜜']
digua1.cook(2)
print(digua1) #地瓜烤了6,状态是熟了,调料有['糖', '蜂蜜']
print("-"*50)
# 搬家具
# 需求:将小于房子剩余面积的家具摆放到房子中
# 定义类
# 先定义家具类
class Furniture():
def __init__(self,name,area):
# 家具名字
self.name = name
# 家具占地面积
self.area = area
# 定义房子类
class House():
def __init__(self,address,area):
self.address = address
self.area = area
self.free_area = area
self.furnitue = []
def __str__(self):
return '房子的地理位置是%s,房屋的面积是%s,剩余面积%s,家具有%s'%(self.address,self.area,self.free_area,self.furnitue)
def add_furniture(self,item):
# 容纳家具
# 如果家具占地面积小于剩余面积可以搬入,家具列表添加家具名字,房屋剩余面积更新,否则,无法容纳
if item.area <= self.free_area:
self.furnitue.append(item.name)
self.free_area -= item.area
else:
print("面积不足,容纳不下")
bed = Furniture('床',6)
sofa = Furniture('沙发',10)
ballchang = Furniture('篮球场',2000)
home1 = House('北京',1000)
print(home1) #房子的地理位置是北京,房屋的面积是1000,剩余面积1000,家具有[]
home1.add_furniture(bed)
print(home1) #房子的地理位置是北京,房屋的面积是1000,剩余面积994,家具有['床']
home1.add_furniture(sofa)
print(home1) #房子的地理位置是北京,房屋的面积是1000,剩余面积984,家具有['床', '沙发']
home1.add_furniture(ballchang)
print(home1) #面积不足,容纳不下
# 房子的地理位置是北京,房屋的面积是1000,剩余面积984,家具有['床', '沙发']