首页 > 编程语言 >在python中通过面向对象方式,实现烤地瓜案例

在python中通过面向对象方式,实现烤地瓜案例

时间:2024-03-31 09:56:03浏览次数:30  
标签:python self sp 地瓜 面向对象 state time cook

例子:烤地瓜,不同时间,反馈不同状态,并给不同状态地瓜加入不同味道
烤地瓜时间
0-3分钟,生的
4-7分钟,半生不熟的
8-12分钟,熟了
12分钟以上,已烤熟,糊了
用户可以按自己的意思添加调料
烤地瓜类:SweetPotato
时间:cook time
状态:Cook state
调料:condiments

代码实现:
class SweetPotato:
# 初始化init
def init(self):
self.cook_time=0
self.state='生的'
self.condiments=[]
# 烤地瓜
def cook(self,time):
try:
if time <=0:
self.state='非法录入,重新录入'
else:
self.cook_time=self.cook_time +time
# if self.cook_time>=0 and self.cook_time<=3 :
if 1<=self.cook_time ❤️: #效果同上
self.state='生的'
elif 3<=self.cook_time <7: #效果同上
self.state='半生不熟'
elif 7<=self.cook_time <12: #效果同上
self.state='熟了'
else: #效果同上
self.state='烤熟了,糊了'
except Exception as e:
print('非法录入,请录入数字!!!')
# 添加调料
def add_condiment(self, condiment):
self.condiments.append(condiment)
# print(f'追加:{self.condiments} 成功!')

# 重写对象信息
def __str__(self):
    return f'烘烤时间: {self.cook_time} 烘烤状态: {self.state} 加入的调料: {self.condiments}'

运用测试功能,查看是否实现

if name == 'main':
# 实例化对象
sp=SweetPotato()
# 查看默认初始化值
print(sp)
print('-'*31)
# 给定某时间,查看功能是否实现
sp.cook('abc')
# 加入调料
sp.add_condiment('麻辣')
sp.add_condiment('芝士')
# 打印
print(sp)

在烤地瓜实现中,加入异常处理,避免输入非数字情景,在不同烤地瓜状态加入不同调料,让其更具有多样性。

标签:python,self,sp,地瓜,面向对象,state,time,cook
From: https://www.cnblogs.com/yzwxd/p/18106411

相关文章

  • 使用Python清理重复音乐文件:一个简单的解决方案
    在日常生活中,我们经常会从各种渠道获取音乐资源,例如购买、下载或者从朋友那里借来。然而,有时候我们可能会发现自己的音乐库里存在着大量的重复音乐文件,这不仅浪费了存储空间,而且在听歌的时候也会带来不便。针对这个问题,我编写了一个简单的Python程序来帮助清理重复的音乐文件。为......
  • Python NumPy库
    Python中列表(list),虽然可以当作数组使用,但是由于列表中的元素可以是任意对象,因此列表中所保存的是对象的指针,一个元素拥有一个指针和一个对象。对于数值运算来说,这种结构比较浪费。此外,Python的array模块,虽然可以直接保存数值,但是不支持多维,也没有各种函数。而NumPy库提供了......
  • Python之Opencv教程(2):图像边缘检测
    1、什么是边缘检测OpenCV中的边缘检测是一种常见的图像处理技术,用于检测图像中物体边缘的位置。常用的边缘检测算法包括Sobel算子、Scharr算子、Laplacian算子和Canny边缘检测算法等。下面将介绍使用OpenCV实现这些边缘检测算法的方法。2、边缘检测的作用边缘检测是图像......
  • 【测试开发学习历程】Python数据类型:字符串-str(下)
    目录5.5format()方法5.6count()方法5.7join()方法5.8replace()方法5.9split()方法5.10rstrip()/lstrip()/strip()方法5.11capitalize()方法5.12upper()5.13lower()5.14title()5.15endswith()方法5.16startswith()方法5.17以is开头的方法5转义字符......
  • 绚烂之境:Python Rich,让终端输出更炫酷!
    转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.top/c8c7bd95.html初识rich你好,我是测试蔡坨坨。在代码的世界里,每一行都是一个故事,每一个变量都是一个角色,而打印则是展示这些故事与角色的窗口。然而,这个窗口并非都是朴实无华的,有时候,我们需要一种更加「艺术」的方式来展......
  • 使用Jep在Java中调用Conda虚拟环境下的Python
    为了解决毕设中需要用到在Java中调用Python的问题,我在网上寻找对应的解决方案。似乎没有太好的解决方案:Jython至今仍是Python2,Py4J似乎也不再活跃更新。所幸我找到了Jep这一神器。正当我雀跃不已,却又发现了一些问题,在两个小时的艰难攻关之下,这些问题逐渐迎刃而解。问题一:无法找到......
  • Python面试题
    1、现有100万行的交易数据文件tansamt.txt,每行显示1个交易金额(首行无字段信息),样例如下。数据文件存放在服务器g:\data目录。203.495-5091800请通过Python脚本,把最大和最小的交易金额通过print命令打印出来:file_path=r'g:\data\tans_amt.txt'#打开文件并读取所有......
  • python-numpy-常用函数详解
    文章目录一、函数详解np.empty(num_points)np.zeros(shape,dtype=float,order='C')np.tile(A,reps)np.newaxisnp.stack(arrays,axis=0)np.roll(a,shift,axis=None)np.repeat(a,repeats,axis=None)arr.reshape(shape)arr.ravel()np.mean(a,axis=None,dtype=None......
  • 毕业设计:基于深度学习的SQL注入检测系统 信息安全 python
    目录前言课题背景和意义实现技术思路一、算法理论基础1.1 TextCNN模型1.2无监督数据增强二、 数据集2.1数据集2.2数据扩充三、实验及结果分析3.1 实验环境搭建3.2 模型训练最后前言  ......
  • 毕业设计:基于python的药品销售数据分析可视化系统 大数据
    目录前言课题背景和意义实现技术思路一、算法理论基础1.1 ETL技术1.2OLAP技术1.3数据可视化二、 数据集三、实验及结果分析3.1 实验环境搭建3.2 模型训练最后前言  ......