1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python什么是状态机 状态机的简单应用

Python什么是状态机 状态机的简单应用

时间:2023-12-08 04:22:00

相关推荐

Python什么是状态机 状态机的简单应用

状态机是由两种或多种状态组成的,每一个状态有着对应的功能。状态机使用会让我们的代码简洁,逻辑清晰,条件判断难以实现的问题我们就可以实现,例如我们像完成这样的效果。

我们通过每次画不同的字符串来做出这样的效果,但是如果我们使用条件判断,判断空格数会发现我们代码的逻辑很难。这种情况就可以使用状态机,接下来请大家结合实例,阅读代码注释,进一步理解。

import timeclass Draw:def __init__(self, num=5):''':param num: 圆点个数:variable flag: 状态机, indents: 原点前面的空格。'''self.num = numself.indents = numself.flag = True# 创建绘制函数def draw(self):symbols_list = []for i in range(self.num):symbols_list.append('•')_indents = self.numwhile True:# 空白符列表indents_list = []for j in range(self.indents):indents_list.append(' ')if self.indents == 0: # 当前面的空格到0,切换加的模式self.flag = Falseif self.indents == self.num: # 到了跟圆点一样,就切换减的模式self.flag = Trueself._decide()# 把两个列表连起来new_list = indents_list + symbols_list# 连接成字符串,等待并输出print(''.join(new_list))time.sleep(0.5)def _decide(self):# 状态机if not self.flag:self.indents += 1elif self.flag:self.indents -= 1paint = Draw()paint.draw()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。