实践练习----烤地瓜
2018-02-27 13:20
113 查看
[b]1. 分析“烤地瓜”的属性和方法[/b]示例属性如下:
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),添加的作料有:['大蒜', '番茄酱', '孜然', '芥末']
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),添加的作料有:['大蒜', '番茄酱', '孜然', '芥末']
相关文章推荐
- OPEN(SAP) UI5 学习入门系列之二: 最佳实践练习(上)
- jQuery插件实践之轮播练习(一)
- Python小练习--类(来自《Python编程从入门到实践》)
- 数据结构之二叉树实践练习
- mybatis 实践练习
- Accelerated C++:通过示例进行编程实践——练习解答(第4章)
- Accelerated C++:通过示例进行编程实践——练习解答(第16章)
- python编程:从入门到实践-第八章练习
- 《Python编程快速上手》第8.9.3实践练习
- Linux学习笔记(十八) vim(二)、编辑模式、vim实践练习
- 动手练习,将前面的知识用于实践
- C 语言编程练习,实践,解决方案:指针
- 软工实践练习一——使用Git进行代码管理心得
- 『sklearn练习』MeanShift实践——泰坦尼克号幸存者分类
- JDBC学习笔记之实践练习(mysql)
- jQuery插件实践之轮播练习(二)
- 《Python编程:从入门到实践》课后练习4-1到4-15
- Python Sting 练习实践(一)
- Accelerated C++:通过示例进行编程实践——练习解答(第2章)
- 《JAVA从入门到精通》(第3版)第十三章实践与练习第一题