Skip to content

Latest commit

 

History

History
208 lines (143 loc) · 4.83 KB

165-233772-循环细节.sy.md

File metadata and controls

208 lines (143 loc) · 4.83 KB
show version enable_checker
step
1.0
true

循环细节

回忆

  • 这次了解了 break
  • break 可以打破循环
    • 跳出三界外
    • 不在五行中
  • 现在的问题是
    • 遇洪而开
    • 见信而寂
  • 无法输出任何字符
  • 怎么办?🤔

原因

图片描述

  • 原来是次序问题
  • 我还是想要
    • 遇洪而开
    • 见信而寂
  • 每次要字符减一就可以到达了吧?!

动手

  • 这样就可以得到最终结果的!!!
    • 遇洪而开
    • 见信而寂

图片描述

  • 正着遍历不行
    • 换种思路倒着着遍历
    • 完成了任务

逆向思维

图片描述

  • 这条偈(jì)语

    • 来自于五代时期宁波布袋和尚
  • 布袋和尚总拿着一个布袋

    • 我有一布袋
    • 虚空无挂碍
    • 打开遍十方
    • 入时观自在。
  • 不要陷入任何固定的思维模式

    • 时刻维持 高学习率
  • break 什么意思来着?

break

图片描述

  • 游乐场的帮助手册告诉我们
    • break 跳出当前的循环
    • 跳出三界外
    • 不在五行中
  • 继续往后走了
  • 那什么时候用 break 呢?
  • 我看好像跳出条件放在 while 的循环条件里面也可以啊?!

跳出用法

图片描述

  • 比如说比赛总共十圈
  • 你现在第三圈
  • 正常的循环十次
  • 但是遇到黑白旗
  • 后面的都不用跑了
  • 跳出循环
  • break 的手法非常爆裂

退出游戏

图片描述

  • 不是另开一局
  • 而是直接退出
  • 这就是 break 的火爆效果
  • 我们也可以用 break 控制是否退出游戏
  • 我们来玩一个猜数字的游戏

猜数字

图片描述

  • 每次猜一个数字
    • 猜中了就告诉你猜中了
    • 猜不中就告诉你大了
    • 还是小了

图片描述

  • 这个游戏怎么写呢?

循环走起

图片描述

图片描述

  • 但是用户是无知的
  • 有可能出现这种错误

错误

图片描述

  • 用户直接回车
  • 或者输入"abc"
  • 都会报错
  • 怎么避免这类问题呢?

防御式编程

图片描述

图片描述

  • 如果我要把输入的数字范围限制在 0-100 之间呢?

继续防御

图片描述

  • 这个游戏就比较完善了
  • 运行一下试试

运行结果

图片描述

  • 能想到的问题都处理了
  • 应该没有什么问题了吧?!
  • 还有什么游戏可以玩呢?
  • 以前做过猜丁壳啊?

猜丁壳

  • 000715 曾经做过猜丁壳的比较判断
  • 不过这是一局的判断
  • 我们可以做成一个循环赛
    • 比如说 bo7
      • 七局四胜
    • 或者无限循环赛
    • 双方分别积分
  • 出手由来
    • 电脑随机
    • 个人按照输入的内容出手
    • 如果输入 q 就退出整个比赛

图片描述

  • 这个小游戏你能做么?

回忆

图片描述

  • 我们输出0-127等数字对应的chr的时候
  • 0好像被黑暗森林所吞没

对应输出

  • 如果用序号:字符的方式

图片描述

  • 可以找到0这个字符

  • 问题出在哪里呢?

  • esc的时候

    • 他从正常输出序列逃逸了
    • 一直到1的时候才回来
  • 那我要跳过27号字符

ESC

图片描述

  • 输出结果

图片描述

  • 0和前面的符号并没有被黑暗森林所吞没
  • 而是跟着esc键逃逸了😁

总结

  • 这次做了猜数字
    • 猜中了就 break 出来
    • 没猜中就继续猜
  • 然后复习了防御式编程
    • 对于各种错误有自己的预估和处理
  • 最后可以自制猜丁壳小游戏
  • 还可以做什么游戏呢?🤔
  • 下次再说 👋