show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
这次继续使用循环 - 尝试持续输出时间
- 然后想起以前的命令
- cowsay
- lolcat
- figlet
- 这次使用python做主循环
- 并且把命令执行的结果整合了起来
- 我们不但可以整合shell下命令输出的结果
- 还可以整合其他语言比如c、java程序运行后输出的结果
- 这也就是python被叫做胶水语言的原因
- 可以把各种语言运行的结果粘合起来
- 然后用循环不断地执行
- 但是循环不应该总是死循环
- 是否应该有个跳出循环的条件呢?
- 这个帮助手册是怎么说循环的呢?🤔
- 去帮助模式搜一下
- while 是一个 statement 语句
- 这个语句会不断测试表达式
- 如果为真的话
- 就执行 suite
- 如果这个测试直接给写成 True 就是死循环
- 死循环会没完没了地播放下去
- 一般还是有条件的
- 满足 while 的条件就可以继续
- 永远循环下去是不存在的
- 总有个潜在的结束条件
- 比如系统崩了或者没电了
- 总会结束下来
- 永远这件事我觉得永远是不存在的
- 永远循环下去也只是一种理想情况
- 全部替换会执行到文件的结束位置就结束
- 实际情况下
- 我们倒水的时候
- 不是说倒一下就完了 一点儿水 不够泡茶的
- 但是也不是死循环 茶都到满了 再倒就溢出来了
- 我们一直倒 一直倒 看到差不多了
- 有个差不多这么个概念 就停了
- 计算机没有差不多这个概念 想让他退出循环
- 不倒了 就得给他一个明确的条件
- 闹钟本身是一个死循环 除非 发条没劲儿了
- 时钟本身也是一个循环
- 都有个截至条件
- 文字替换完了 或者 取消了
- 茶倒差不多了
- 把闹钟给按了
- 循环就结束了
- 我小时候玩过一个游戏
- 叫做老狼老狼几点了
- 两个角色
- 有一个狼还有其他的事别的小动物
- 小动物问狼
- “老狼老狼几点了”
- 老狼回答
- 从一点开始,
- 随机一个数字加到时间上
- 到 12 点的时候,老狼转身追捕
- 代码可以如下运行
- 但是有一点点小瑕疵
- 你能看出来么?
- 老狼报时可能从 11 点直接跳到 13 点
- 然后就会进入死循环
- 所以条件有问题
- while 的条件已经改成了小于了
- 任务达成!
- while 特别适合而这种明确数字范围的遍历
- 比如一个明确的列表
- 其中某元素数量是固定的
- 这样可以把这个元素全部删除
- 只要能明确循环次数
- while 就可以完成遍历过程
- 从 1 到 100
- 我们甚至可以
- 遍历一下八卦
- 大致范围就是从(9776)10到(9783)10
- 我们曾经输出过所有的 ascii 字符
- 我们甚至能输出所有的中文字符
- 8 次循环输出 8 个卦象
- 次数不多
- 这并不困难
- 我们去调试一下
- 第2句 循环判断
- 第3句 输出文本
- 第4句 循环变量自增
- 第4句后,回到第2句进行循环判断
- 那什么时候退出呢?
- 当gua = 9784的时候
- gua <= 9783 的值为 False
- 直接跳出循环、
- 可以设置条件断点么?
- 条件断点也是断点
- 只不过在满足条件的时候才会触发
- 当gua==9784的时候
- 第二行的断点才会起作用
- 如果是八八六十四卦可以遍历么?
- 可以自己研究一下
- 这次初步了解了循环的条件
- 就是while后面的布尔型变量
- 每次循环体执行完成后都会跳转到while这一行
- 然后再去对循环条件进行判断
- 这就循环起来了
- 我们也可以在断点上加判断
- 满足条件的时候才断
- 所以叫做条件断点
- 一些pdb3的命令
- print输出一次
- display 每次都显示
- b n 设置断点
- c 跳转到断点
- tbreak n,bool 设置条件断点
- 循环语句可以做点什么好玩的么?🤔
- 下次再说 👋