Skip to content

Latest commit

 

History

History
153 lines (115 loc) · 3.44 KB

7230-206033-000723 条件分支流程总结.sy.md

File metadata and controls

153 lines (115 loc) · 3.44 KB
show version enable_checker
step
1.0
true

位运算符

回忆

  • 这次研究了移位运算符
    • << 左移 相当于✖️2
    • << 右移 相当于➗️2
  • 我们从逻辑运算到位运算再到移位运算
  • 走了好远
  • 最后我们总结一下条件分支流程吧?🤔

什么是分支流程

图片描述

  • 满足某个条件的时候
  • 执行某些代码
  • 这就是单分支if
  • 如果不满足条件呢?

双分支

图片描述

  • 满足条件if
    • 如何处理
  • 不满足条件else
    • 又如何处理

多分支

图片描述

  • 有多种分支的可能性
  • 需要用elif来分析出各种分支
  • 当然分支里面还有分支

嵌套分支

图片描述

  • 分情况讨论之后
  • 在分情况讨论
  • 这些情况是如何得到的呢?

运算符

图片描述

  • 比较运算符
  • 成员测试运算符 in
  • id测试运算符 is
  • 这些运算符运算的结果是bool型的变量,就两种
    • True
    • False
  • 布尔型的变量可以做什么bool型的运算符么?

布尔运算

图片描述

  • 布尔运算包括
    • 逻辑非
    • 逻辑与
    • 逻辑或
  • 除了布尔运算还有什么运算?

位运算

图片描述

  • 位元运算
    • 按位与
    • 按位异或
    • 按位或
  • 移位运算
    • 左移
    • 右移
  • 我们回到最初
  • 为什么要有条件语句呢?
  • 分类讨论
  • 用不同的逻辑处理不同的问题

存钱

图片描述

  • 如果小于等于0了
  • 那么就需要提示出错了
  • 太小了行
  • 太大了也不行
  • 存钱罐就爆掉了
  • 而且精度也是问题

精度

图片描述

  • 精度小于0.01不行
  • 没有一厘钱的物理实体
  • 没法存
  • 需要报错
  • 这就是防御型编程

防御型编程

  • 用户是不知道怎么回事的
  • 一定要处理异常的情况
  • 给用户能够理解的信息
  • 不要让用户看到下面这些

图片描述

  • 用户是看不懂的!

主动防御的好处

  • 增强系统的健壮性
  • 这就是防御型编程
  • Defensive programming
    • 主动判断
    • 容错
    • 健壮性
  • 而且要处理输入钱数的时候可能出现"oeasy"
  • 但是int("oeasy")会直接报error的情况
  • 这就不值需要if
  • 而且需要try了

动手

图片描述

  • 这样就可以保证用户无论输入什么
  • 程序都能跑
  • 而且都有合适的提示信息

提示

图片描述

  • 如果有颜色提示就更好了

总结

  • 这次研究了条件分支相关的
    • 有各种分支情况
    • 比较运算符
    • 逻辑运算符
    • 位运算符
  • 最后还做了一个主动防御
  • 除了顺序结构、条件结构之外
  • 还有什么结构呢?🤔
  • 下次再说👋