zoukankan      html  css  js  c++  java
  • 面向对象案例 烤地瓜 搬家具python实现

    # 烤地瓜案例
    # 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,家具有['床', '沙发']
  • 相关阅读:
    js转化 保留2位小数
    python练习:打印九九乘法表
    PyCharm常用快捷键及工具
    python关键字
    Python学习资源
    Jira项目导入,被导入项目与目的系统数据类型不一致导入不成功的解决方案
    压测的时候到底要不要加集合点?
    Java Vuser协议JDBC脚本编写(MySQL)
    eclipse工具使用
    oracle忘记sys,system密码的解决方法
  • 原文地址:https://www.cnblogs.com/spp666/p/12098781.html
Copyright © 2011-2022 走看看