# 烤地瓜案例 # 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,家具有['床', '沙发']