实践练习----烤地瓜



1. 分析“烤地瓜”的属性和方法
示例属性如下:
cookedLevel : 这是数字;0~3表示还是生的,超过3表示半生不熟,超过5表示已经烤好了,超过8表示已经烤成木炭了!我们的地瓜开始时时生的
cookedString : 这是字符串;描述地瓜的生熟程度
condiments : 这是地瓜的配料列表,比如番茄酱、芥末酱等
示例方法如下:
cook() : 把地瓜烤一段时间
addCondiments() : 给地瓜添加配料
__init__() : 设置默认的属性

__str__() : 让print的结果看起来更好一些

class SweetPotato:
    """定义了一个地瓜类"""
    def __init__(self):
        self.cookedString = "生的"
        self.cookedLevel = 0
        self.condiments = []#为了能够存储多个数据,往往在开发中让一个属性是列表

    def __str__(self):
        return "地瓜 状态:%s(%d),添加的作料有:%s"%(self.cookedString, self.cookedLevel, str(self.condiments))

    def cook(self, cooked_time):

        #因为这个方法被调用了多次,为了能够在一次调用这个方法的时候 能够 获取到上一次调用这个方法时的cooked_time
        #所以 需要在此,把cooked_time保存到这个对象的属性中,因为属性不会随着方法的调用而结束(一个方法被调用的时候
        #是可以用局部变量来保存数据的,但是当这个方法定义结束之后这个方法中的所有数据就没有了)
        self.cookedLevel += cooked_time

        if self.cookedLevel >=0 and self.cookedLevel<3:
            self.cookedString = "生的"
        elif self.cookedLevel >=3 and self.cookedLevel<5:
            self.cookedString = "半生不熟"
        elif self.cookedLevel >=5 and self.cookedLevel<8:
            self.cookedString = "熟了"
        elif self.cookedLevel>8:
            self.cookedString = "烤糊了"

    def addCondiments(self, item):
        #因为item这个变量指向了一个 作料,所以 接下来需要将item放到append里面
        self.condiments.append(item)


#创建了一个地瓜对象
di_gua = SweetPotato()
print(di_gua)

#开始烤地瓜
di_gua.cook(1)
print(di_gua)
di_gua.cook(1)
print(di_gua)
di_gua.addCondiments("大蒜")
di_gua.cook(1)
print(di_gua)
di_gua.cook(1)
di_gua.addCondiments("番茄酱")
print(di_gua)
di_gua.cook(1)
print(di_gua)
di_gua.cook(1)
di_gua.addCondiments("孜然")
print(di_gua)
di_gua.cook(1)
print(di_gua)
di_gua.addCondiments("芥末")
di_gua.cook(1)
print(di_gua)
di_gua.cook(1)
print(di_gua)
di_gua.cook(1)
print(di_gua)
di_gua.cook(1)
print(di_gua)


运行结果:

地瓜 状态:生的(0),添加的作料有:[]
地瓜 状态:生的(1),添加的作料有:[]
地瓜 状态:生的(2),添加的作料有:[]
地瓜 状态:半生不熟(3),添加的作料有:['大蒜']
地瓜 状态:半生不熟(4),添加的作料有:['大蒜', '番茄酱']
地瓜 状态:熟了(5),添加的作料有:['大蒜', '番茄酱']
地瓜 状态:熟了(6),添加的作料有:['大蒜', '番茄酱', '孜然']
地瓜 状态:熟了(7),添加的作料有:['大蒜', '番茄酱', '孜然']
地瓜 状态:熟了(8),添加的作料有:['大蒜', '番茄酱', '孜然', '芥末']
地瓜 状态:烤糊了(9),添加的作料有:['大蒜', '番茄酱', '孜然', '芥末']
地瓜 状态:烤糊了(10),添加的作料有:['大蒜', '番茄酱', '孜然', '芥末']
地瓜 状态:烤糊了(11),添加的作料有:['大蒜', '番茄酱', '孜然', '芥末']


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一如故往

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值