10 综合应用案例:“烤地瓜”
文章目录
- 一、烤地瓜
- 1.1需求
- 1.2步骤分析
- 1.2.1定义类
- 1.2.1创建对象,调用相关实例
- 1.2.3代码实现(定义类)
- 1.2.4代码实现(定义烤地瓜方法)
- 1.2.5代码实现(书写str魔法方法,用于输出对象状态)
- 1.2.6代码实现( 创建对象,测试实例属性和实例方法)
- 1.2.7代码实现( 定义添加调料方法)
- 1.2.8代码实现( 所有代码展示)
一、烤地瓜
1.1需求
需求主线:
被烤的时间和对应的地瓜状态:
0-3分钟:生的
3-5分钟:半生不熟
5-8分钟:熟的
超过8分钟:烤糊了添加的调料:
⽤户可以按自己的意愿添加调料
1.2步骤分析
需求涉及⼀个事物: 地瓜,故案例涉及⼀个类:地瓜类。
1.2.1定义类
1、地瓜的属性
被烤的时间
地瓜的状态
添加的调料
2、地瓜的方法
被烤
用户根据意愿设定每次烤地瓜的时间
判断地瓜被烤的总时间是在哪个区间,修改地瓜状态
3、添加调料
用户根据意愿设定添加的调料
将用户添加的调料存储
4、显示对象信息
1.2.1创建对象,调用相关实例
1.2.3代码实现(定义类)
代码如下(示例):
# 1. 定义类:初始化属性、被烤和添加调料的方法、显示对象信息的str
class SweetPotato():def __init__(self):# 被烤的时间self.cook_time = 0# 烤的状态self.cook_state = '生的'# 调料列表self.condiments = []
1.2.4代码实现(定义烤地瓜方法)
代码如下(示例):
def cook(self, time):"""烤地瓜方法"""# 1. 先计算地瓜整体烤过的时间self.cook_time += time# 2. 用整体烤过的时间再判断地瓜的状态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 = '烤糊了'
1.2.5代码实现(书写str魔法方法,用于输出对象状态)
代码如下(示例):
def __str__(self):return f'这个地瓜的被烤过的时间是{self.cook_time}, 状态是{self.cook_state}, 调料有{self.condiments}'
1.2.6代码实现( 创建对象,测试实例属性和实例方法)
代码如下(示例):
digua1 = SweetPotato()print(digua1)digua1.cook(2)print(digua1)
1.2.7代码实现( 定义添加调料方法)
代码如下(示例):
def add_condiments(self, condiment):# 用户意愿的调料追加到调料列表self.condiments.append(condiment)
1.2.8代码实现( 所有代码展示)
代码如下(示例):
# 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# 2. 用整体烤过的时间再判断地瓜的状态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 f'这个地瓜的被烤过的时间是{self.cook_time}, 状态是{self.cook_state}, 调料有{self.condiments}'# 2. 创建对象并调用对应的实例方法
digua1 = SweetPotato()print(digua1)digua1.cook(2)
digua1.add_condiments('辣椒面儿')
print(digua1)digua1.cook(2)
digua1.add_condiments('酱油')
print(digua1)'''
输出结果:
这个地瓜的被烤过的时间是0, 状态是生的, 调料有[]
这个地瓜的被烤过的时间是2, 状态是生的, 调料有['辣椒面儿']
这个地瓜的被烤过的时间是4, 状态是半生不熟, 调料有['辣椒面儿', '酱油']
'''
10 综合应用案例:“烤地瓜”相关推荐
- 学籍管理系统 c语言流程图,程序设计基础 ——C语言第10章 综合应用案例——学生学籍管理系统...
程序设计基础 第 10章 综合应用 案例 -学生学籍 管理系统 1 详细设计 需求分析 总体设计 第 10章 综合应用 案例 -学生学籍管理系统 编码实现 运行结果 2 设计一个利用 文件 处理方式, ...
- 大数据课程综合实验案例:网站用户行为分析
大数据课程综合实验案例 1 案例简介 1.1 案例目的 1.2 适用对象 1.3 时间安排 1.4 预备知识 1.5 硬件要求 1.6 软件工具 1.7 数据集 1.8 案例任务 1.9 实验步骤 2 ...
- educoder头歌Web实训 web课——综合应用案例:限时秒杀效果的制作
educoder头歌Web实训 太原理工web课--综合应用案例:动态焦点图页面的制作[全网更新最快]_玛卡巴卡的博客-CSDN博客 第1关:限时秒杀效果图片渲染 [TOC] 图1如下 链接为htt ...
- 想轻松入门Python编程,这10个经典案例你还不知道嘛?
一直以来,Python都是一门很简单的编程语言,其实无论你有没有基础,学起来都不难. 但,必须有方法,而最好的方法其实就是学+练,即:基本常识+这10经典案例. 而同时有着系统的Python基础知识点 ...
- android Hander Service 广播的综合使用案例
android Hander Service 广播的综合使用案例 原理:在主activity里启动一个服务,这个服务通过Handler每一秒发送一条广播,并在主activity里注册一个广播接受者 ...
- 想轻松入门Python编程,必须看这10个经典案例,学完就能找到工作
一直以来,Python都是一门很简单的编程语言,其实无论你有没有基础,学起来都不难. 但,必须有方法,而最好的方法其实就是学+练,即:基本常识+这10经典案例. 而同时有着系统的Python基础知识点 ...
- Python Appium自动化测试框架 综合实践案例(中)
Time will tell. 本篇章紧接上一篇继续来分享关于 Appium 自动化测试框架综合实践案例代码.框架所需要的代码实现都已基本完成. data数据封装 1.使用背景 在实际项目过程中,我们 ...
- educoder头歌Web实训 web课——综合应用案例:动态焦点图页面的制作
educoder头歌Web实训 太原理工web课--综合应用案例:拼图页面的制作[全网更新最快]_玛卡巴卡的博客-CSDN博客 第1关:动态焦点图页面的样式设计 任务描述 本关任务: 完成动态焦点图 ...
- JavaScript设计模式综合应用案例
今天我们模拟小米智能家居应用场景,融合单例模式.组合模式.观察者模式做一个综合应用案例.具体场景如下: 小米门铃为主人开门,触发开门事件: 小米智能控制台监测到开门事件,自动启动小米空调和小米电视: ...
最新文章
- 董明珠:别嫌工资少,满足这些条件!多高都给你
- 计算机专业会比投档线高多少,比投档线高多少安全 投档线和录取线差多少
- 标注工具_语料标注工具(3)
- 用ASP实现隐藏链接方法
- 常用DBA SQL[转]
- 502无法解析服务器标头_编写下载服务器。 第三部分:标头:内容长度和范围...
- PHP 图像编辑GD库的使用以及图像的压缩
- RequireJS模块化之循环依赖
- HTML 5 canvas 基本语法
- springcloud使用zipkin和rabbitmq进行服务链路追踪
- iis5.1安装方法(适用于XP)以及运行调试asp程序,创建虚拟目录【整理】
- 这个SSRF 漏洞很酷
- python语言中的模块包括_python中常用的模块的总结
- 关于合格工程师素养的一些思考
- 物业缴费管理系统 微小区 物业社区公众号开发 物业APP小程序源码
- canvas绘制太阳系
- win10系统关机时提示(程序没有响应)需要结束程序
- LOJ 10155 - 「一本通 5.2 例 3」数字转换
- iPhone通过CPU确定手机型号
- WARN ThreadPoolAsynchronousRunner:608问题解决