最近琢磨撸个小家电(雾),要用到状态机,比如开了之后调节温度,定时,启动,暂停啥的,每个状态能跳到特定的几个状态里面去。

然后看了别人写的python状态机,啊那个接口写的我实在看不懂,自己上手抄吧,又感觉python写接口怪怪的,味道不太对。然后上网查了发现python的设计模式好像跟c++和java不一样,于是就有了这个蠢代码……

代码不多,三十行,非常简陋,也没有纠错机制。就这我还标错了个东西,琢磨半天yield generator啥的,结果发现根本不是那回事。关键点在于:直接返回下一状态的函数名就好啦~

0状态在输入奇数的时候变成1状态,输入偶数不变;1状态在输入奇数的时候变成0状态,输入偶数也是不变。

in_list = [1, 1, 1, 1, 0, 0, 2, 0, 3, 5, 3]

def state0(input0):

print("状态0")

print("input0=" + str(input0))

if input0 % 2 == 0:

return state0

else:

return state1

def state1(input1):

print("状态1")

print("input1=" + str(input1))

if input1 % 2 == 0:

return state1

else:

return state0

if __name__ == '__main__':

i = state0

num = 1

for t in in_list:

print('--------\n循环轮次:' + str(num))

i = i(t)

num += 1

python 状态机教程_一个非常简陋的python状态机相关推荐

  1. mu编程软件python使用方法_一个面向初学者的Python编辑器Mu

    原标题:一个面向初学者的Python编辑器Mu Mu一个开源编辑器,是满足学生可以轻松学习编写Python代码的工具.作为初学程序员的Python编辑器,旨在使学习体验更加愉快.它使学生能够在早期体验 ...

  2. python 爬虫 教程_一个入门级python爬虫教程详解

    前言 本文目的:根据本人的习惯与理解,用最简洁的表述,介绍爬虫的定义.组成部分.爬取流程,并讲解示例代码. 基础 爬虫的定义:定向抓取互联网内容(大部分为网页).并进行自动化数据处理的程序.主要用于对 ...

  3. spark python入门教程_你是如何自学 Python 的?

    我是机械类专业出身,现在在一家NGO组织从事数据分析方面的工作,主要的工具是Python.SQL.Spark.平时会写一些分析用的脚本,偶尔会写写爬虫,跑跑算法,应该说Python算是我吃饭的家伙,很 ...

  4. python儿童画教程_儿童节教你用 Python 画出童年回忆

    作者 | 张同学 来源 | 凹凸数据 大家好,我是张同学. 又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么可以放过这个学习技能的机会呢? 于是,今天我们来学习 Python 的 Turtle 库 ...

  5. python deque函数_一个不得不了解的Python库——collections

    基本介绍 Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型,如下.这些 ...

  6. python bokeh教程_交互式数据可视化在Python中用Bokeh实现

    Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库.这是Bokeh与其它可视化库最核心的区别.正如下图所示,它说明了Bokeh如何将数据展示到一个Web浏览器上的流程. 正如你 ...

  7. python tk教程_【转】【Python】Tkinter教程

    什么是Tkinter? Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序. 由于 Tkinter 是内置到 python 的安 ...

  8. python热身教程_我回来拉,Python热身篇:)

    用法很简单,把apihelper.py的路径添加到Python搜索路径内,然后将对象当作参数传给info函数即可.如: >>> li = ['aa','bb'] >>&g ...

  9. python爬虫设计在哪里_《python 爬虫教程 知乎》 怎样用Python设计一个爬虫模拟登陆知乎...

    <python 爬虫教程 知乎> 怎样用Python设计一个爬虫模拟登陆知乎 python 爬虫教程 知乎2020-09-23 01:45:13人已围观 怎样用Python设计一个爬虫模拟 ...

最新文章

  1. Cocos2d—android 中常用的工具类
  2. wxWidgets:wxAnimationCtrl类用法
  3. 极光尔沃切片软件_极光尔沃3D打印机走进肥东中小学校
  4. IDEA 启动时,报“淇℃伅”的字符
  5. SpringBoot Environment读取配置文件乱码
  6. C++ malloc头文件
  7. 百亿级微信红包的高并发资金交易系统设计方案
  8. CHD+CM-1 安装
  9. ES实现自动补全查询
  10. html5快速制作,html5动画制作(教你如何快速绘制HTML5动画)
  11. 测试大会能给我们带来什么?
  12. 接口测试 Pytest断言处理_告警断言
  13. 美团一面-20200328-1h
  14. 云原生时代一站式DevOps平台--阿里云效
  15. DP(动态规划)入门(一)
  16. java获取一天的起止时间
  17. Shell脚本编程实战
  18. 浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
  19. 旷视 CEO 印奇:靠“刷脸”折腾出 120 亿的大生意
  20. 渗漏(Percolation)问题(java语言实现)

热门文章

  1. POJ 2886:Who Gets the Most Candies?
  2. ABAQUS切削模拟
  3. 网页设计各种颜色搭配 并且哪几种颜色可以做成哪种风格
  4. FlyFish 2.0已发布,大屏开发应用更加灵活便捷
  5. 2023年最有前景的行业
  6. js滑动操作之-pageYOffset,scrollTop,offsetHeight,scrollHeight
  7. 整理:收集增强WiFi信号的10种方法
  8. linux桌面无法启动,Ubuntu18.04启动后无法进入桌面修复方法(图文)
  9. 把求伯君干掉,向比尔·盖茨进军!
  10. 7-18 nii.gz文件的处理