文章目录

  • 一、烤地瓜
    • 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需求

需求主线:

  1. 被烤的时间和对应的地瓜状态:
    0-3分钟:生的
    3-5分钟:半生不熟
    5-8分钟:熟的
    超过8分钟:烤糊了

  2. 添加的调料:
    ⽤户可以按自己的意愿添加调料

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 综合应用案例:“烤地瓜”相关推荐

  1. 学籍管理系统 c语言流程图,程序设计基础 ——C语言第10章 综合应用案例——学生学籍管理系统...

    程序设计基础 第 10章 综合应用 案例 -学生学籍 管理系统 1 详细设计 需求分析 总体设计 第 10章 综合应用 案例 -学生学籍管理系统 编码实现 运行结果 2 设计一个利用 文件 处理方式, ...

  2. 大数据课程综合实验案例:网站用户行为分析

    大数据课程综合实验案例 1 案例简介 1.1 案例目的 1.2 适用对象 1.3 时间安排 1.4 预备知识 1.5 硬件要求 1.6 软件工具 1.7 数据集 1.8 案例任务 1.9 实验步骤 2 ...

  3. educoder头歌Web实训 web课——综合应用案例:限时秒杀效果的制作

    educoder头歌Web实训 太原理工web课--综合应用案例:动态焦点图页面的制作[全网更新最快]_玛卡巴卡的博客-CSDN博客 第1关:限时秒杀效果图片渲染 [TOC] 图1如下 链接为htt ...

  4. 想轻松入门Python编程,这10个经典案例你还不知道嘛?

    一直以来,Python都是一门很简单的编程语言,其实无论你有没有基础,学起来都不难. 但,必须有方法,而最好的方法其实就是学+练,即:基本常识+这10经典案例. 而同时有着系统的Python基础知识点 ...

  5. android Hander Service 广播的综合使用案例

    android Hander  Service  广播的综合使用案例 原理:在主activity里启动一个服务,这个服务通过Handler每一秒发送一条广播,并在主activity里注册一个广播接受者 ...

  6. 想轻松入门Python编程,必须看这10个经典案例,学完就能找到工作

    一直以来,Python都是一门很简单的编程语言,其实无论你有没有基础,学起来都不难. 但,必须有方法,而最好的方法其实就是学+练,即:基本常识+这10经典案例. 而同时有着系统的Python基础知识点 ...

  7. Python Appium自动化测试框架 综合实践案例(中)

    Time will tell. 本篇章紧接上一篇继续来分享关于 Appium 自动化测试框架综合实践案例代码.框架所需要的代码实现都已基本完成. data数据封装 1.使用背景 在实际项目过程中,我们 ...

  8. educoder头歌Web实训 web课——综合应用案例:动态焦点图页面的制作

    educoder头歌Web实训 太原理工web课--综合应用案例:拼图页面的制作[全网更新最快]_玛卡巴卡的博客-CSDN博客 第1关:动态焦点图页面的样式设计 任务描述 本关任务: 完成动态焦点图 ...

  9. JavaScript设计模式综合应用案例

    今天我们模拟小米智能家居应用场景,融合单例模式.组合模式.观察者模式做一个综合应用案例.具体场景如下: 小米门铃为主人开门,触发开门事件: 小米智能控制台监测到开门事件,自动启动小米空调和小米电视: ...

最新文章

  1. 董明珠:别嫌工资少,满足这些条件!多高都给你
  2. 计算机专业会比投档线高多少,比投档线高多少安全 投档线和录取线差多少
  3. 标注工具_语料标注工具(3)
  4. 用ASP实现隐藏链接方法
  5. 常用DBA SQL[转]
  6. 502无法解析服务器标头_编写下载服务器。 第三部分:标头:内容长度和范围...
  7. PHP 图像编辑GD库的使用以及图像的压缩
  8. RequireJS模块化之循环依赖
  9. HTML 5 canvas 基本语法
  10. springcloud使用zipkin和rabbitmq进行服务链路追踪
  11. iis5.1安装方法(适用于XP)以及运行调试asp程序,创建虚拟目录【整理】
  12. 这个SSRF 漏洞很酷
  13. python语言中的模块包括_python中常用的模块的总结
  14. 关于合格工程师素养的一些思考
  15. 物业缴费管理系统 微小区 物业社区公众号开发 物业APP小程序源码
  16. canvas绘制太阳系
  17. win10系统关机时提示(程序没有响应)需要结束程序
  18. LOJ 10155 - 「一本通 5.2 例 3」数字转换
  19. iPhone通过CPU确定手机型号
  20. WARN ThreadPoolAsynchronousRunner:608问题解决

热门文章

  1. 职场英语--表达认可与称赞,以及获得夸赞后如何回复
  2. 65-Spring实战以及AOP介绍
  3. java启动参数dp,java – Intermec打印机中的DP命令问题
  4. 莫言:阅读是创作最好的老师
  5. JavaEE通过路径或域名获取资源
  6. OPENGL(ubuntu下的实践)——基础篇(2)之红宝书
  7. 小程序内使用绝对路径
  8. 小萌库 周一恐怖来袭
  9. lstm 输入数据维度_[mcj]pytorch中LSTM的输入输出解释||LSTM输入输出详解
  10. Java查询个人信息