烤地瓜

[!tip|style:flat|label:提示]

封装小套路

1. 根据文字描述信息,确定对象,对象有什么,就是属性
1. 根据文字描述信息,对象能干什么,就是方法
1. 根据文字描述信息,确定方法怎么书写
# 案列:烤地瓜
# 1. 类名:地瓜类 SweetPotato
#   属性:
#       状态 status="生的"
#       烤的时间 total_time=0

#   方法:
#       def cook(self, time):
#           # 计算烤地瓜的总时间
#           # 修改地瓜的状态
#       输出地瓜信息 def __str__(self):
#       定义属性 def __init__(self):


class SweetPotato(object):
    def __init__(self):
        self.status = "生的"
        self.total_time = 0

    def cook(self, time):
        self.total_time += time
        # 判断地瓜的状态
        if 0 <= self.total_time < 3:
            self.status = "生的"
        elif 3 <= self.total_time < 5:
            self.status = "半生不熟"
        elif 5 <= self.total_time < 8:
            self.status = "熟了"
        elif self.total_time >= 8:
            self.status = "糊了"

    def __str__(self):
        return f"地瓜的状态是{self.status}, 烤的总时间是{self.total_time}"


# 创建地瓜对象
sweet_potato = SweetPotato()
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)

烤地瓜调料版

class SweetPotato:
    def __init__(self):
        self.cooked_level = 0
        self.cooked_string = '生的'
        self.condiments = []

    def __str__(self):
        return f'地瓜状态:{self.cooked_string},添加的佐料有:{self.condiments}'

    def cook(self, cooked_time):
        self.cooked_level += cooked_time
        if 0 <= self.cooked_level < 3:
            self.cooked_string = '生的'
        elif 3 <= self.cooked_level < 5:
            self.cooked_string = '半生不熟'
        elif 5 <= self.cooked_level < 8:
            self.cooked_string = '熟了'
        elif self.cooked_level >= 8:
            self.cooked_string = '烤糊了'

    def add_condiments(self, condiment):
        self.condiments.append(condiment)


# 创建地瓜对象
sweet_potato = SweetPotato()
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('盐')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('胡椒')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('孜然')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('辣椒')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('花椒')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('八角')

搬家具

# 搬家具案列
# 家具类
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, house_type, area):
        self.house_type = house_type
        self.area = area
        self.free_area = area
        self.furniture = []

    def __str__(self):
        return f"房子的户型是{self.house_type},面积是{self.area}平米,剩余面积是{self.free_area}平米"

    def add_furniture(self, item):
        """
        添加家具的方法
        :param item:  要添加的家具对象
        :return: None
        """
        if self.free_area >= item.area:
            self.furniture.append(item.name)
            self.free_area -= item.area
        else:
            print(f"{item.name}的面积太大,无法添加")

    def show_furniture(self):
        print(f"房子里面的家具有{self.furniture}")


# 创建家具对象
bed = Furniture("床", 15)
sofa = Furniture("沙发", 20)
table = Furniture("桌子", 10)
# 电脑桌
computer_desk = Furniture("电脑桌", 5)


# 创建房子对象
house = House("三室一厅", 120)

# 添加家具
house.add_furniture(bed)
house.add_furniture(sofa)
house.add_furniture(table)
house.add_furniture(computer_desk)

# 显示房子信息
print(house)

# 显示家具信息
house.show_furniture()

results matching ""

    No results matching ""