需求分析
烧鸡翅的流程分解为:烧烤和加调料
用面向对象的方式来实现,必须定义鸡翅
类,有以下属性:烧烤的时间,生熟程度,调味品。以及以下方法:烧烤,添加调料
烧烤时间与生熟时间的关联:
- 0-3分钟:生的
- 3-5分钟:半生不熟
- 5-8分钟:熟了
- 大于8分钟:焦了
代码实现如下:
class Wing():
"""烧鸡翅"""
def __init__(self):
print('----烧鸡翅,我最中意食-----')
self.cookedLevel = 0 # 烧鸡翅的时间
self.cookedString = '生的' # 生熟程度
self.condiments = [] # 调味
print('刚买的鸡翅是生的,没有调料')
def cook(self, time):
self.cookedLevel += time
if self.cookedLevel > 8:
self.cookedString = '烧焦了'
elif self.cookedLevel > 5:
self.cookedString = '烧好了'
elif self.cookedLevel > 3:
self.cookedString = '半生不熟'
else:
self.cookedString = '生的'
def addCondiments(self, condiments):
print('---添加调料---')
self.condiments.append(condiments)
def __str__(self):
print('----烧了%s分钟---' % self.cookedLevel)
msg = '鸡翅的生熟度:' + self.cookedString
if len(self.condiments) > 0:
msg = msg + "\n调料有:"
for temp in self.condiments:
msg = msg + temp + ', '
msg = msg.rstrip(', ')
return msg
wing = Wing()
print('----开始烧鸡翅----')
wing.cook(4)
print(wing)
wing.addCondiments('酱油')
wing.cook(3)
print(wing)
wing.addCondiments('芝麻')
wing.cook(1)
print(wing)
wing.cook(2)
print(wing)
结果:
----烧鸡翅,我最中意食-----
刚买的鸡翅是生的,没有调料
----开始烧鸡翅----
----烧了4分钟---
鸡翅的生熟度:半生不熟
---添加调料---
----烧了7分钟---
鸡翅的生熟度:烧好了
调料有:酱油
---添加调料---
----烧了8分钟---
鸡翅的生熟度:烧好了
调料有:酱油, 芝麻
----烧了10分钟---
鸡翅的生熟度:烧焦了
调料有:酱油, 芝麻