Skip to content

Latest commit

 

History

History
200 lines (137 loc) · 4.49 KB

File metadata and controls

200 lines (137 loc) · 4.49 KB
Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0170
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在: 
	- 个人网站: `https://oeasy.org` 
	- 蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
	- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
	- Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

调试循环

回忆

  • 上次初步了解了死循环
    • while True:
  • 可以设置
    • 各种各样的颜色
    • 让屏幕 五彩嫔纷
    • 你还能做出什么样好玩的效果吗?
    • 录像留下来
    • 分享给我吧!
  • 循环必须得死吗?
  • 有没有循环不死的方式呢?🤔
  • 反正死循环可以永无止境的循环下去
  • 一般循环 还是有条件的

满足条件

图片描述

  • 满足 while 的条件就可以继续

愚公移山

图片描述

图片描述

包办婚姻

图片描述

图片描述

持续改进

图片描述

图片描述

潜在结束条件

  • 全部替换会执行到文件的结束位置就结束
  • 永远循环下去是不存在的

图片描述

  • 总有个潜在的结束条件
    • 比如系统崩了或者没电了
    • 总会结束下来
  • 永远循环下去
    • 是一种理想情况
    • 是永远不存在的😁

适中

  • 实际情况下

  • 我们倒水的时候

    • 不是说倒一下就完了
      • 一点儿水
      • 不够泡茶的
    • 但是也不是死循环
      • 茶都到满了
      • 再倒就溢出来了
  • 我们一直倒 一直倒

    • 看到差不多了

图片描述

  • 有个差不多这么个概念 就停了
  • 计算机没有差不多这个概念 想让他退出循环
  • 不倒了 就得给他一个明确的条件

密码正确

  • 开机之后
    • 人脸或者指纹识别
    • 如果失败 开始输入密码

图片描述

  • 如果 输入密码失败了
    • 就要不停输入
  • 如果 输入密码 成功
    • 进入系统

时钟

  • 闹钟本身是一个死循环
    • 一直转
      • 除非 发条没劲儿了
  • 时钟本身
    • 也是一个循环
  • 都有个截至条件
    • 文字替换完了 或者 取消了
    • 茶倒差不多了
    • 密码正确输入了
    • 把闹钟给按了
    • 循环就结束了

图片描述

  • 我小时候玩过一个游戏
  • 叫做老狼老狼几点了

老狼

  • 分 两类角色

    1. 其他小动物
  • 小动物问狼

    • “老狼老狼几点了”

图片描述

  • 老狼回答
    • 从一点开始,
    • 随机一个数字加到时间上
    • 到 12 点的时候,老狼转身追捕

分析流程

图片描述

图片描述

编写代码

图片描述

  • 代码可以如下运行

图片描述

  • 但是有一点点小瑕疵
  • 你能看出来么?

代码修改

  • 老狼报时可能从 11 点直接跳到 13 点
  • 然后就会进入死循环
  • 所以条件有问题

图片描述

重新编码

图片描述

  • while 的条件已经改成了小于了
  • 任务达成!
  • while 特别适合而这种明确数字范围的遍历

帮助手册

  • 去搜一下帮助

图片描述

  • while 是一个 statement 语句
  • 这个语句会不断测试表达式
  • 如果为真的话
  • 就执行 suite
  • 如果这个测试直接给写成 True 就是死循环

总结

  • 这次初步了解了循环的条件
  • 就是while后面的布尔型变量
    • 每次循环体执行完成后都会跳转到while这一行
    • 然后再去对循环条件进行判断
    • 这就循环起来了
  • 我们曾经输出过所有的 ascii 字符
    • 我们甚至能输出所有的utf-8字符吗

图片描述

  • 我想输出八卦可以吗???🤔
  • 下次再说 👋

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。