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了
- 这样就可以保证用户无论输入什么
- 程序都能跑
- 而且都有合适的提示信息
- 如果有颜色提示就更好了
- 这次研究了条件分支相关的
- 有各种分支情况
- 比较运算符
- 逻辑运算符
- 位运算符
- 最后还做了一个主动防御
- 除了顺序结构、条件结构之外
- 还有什么结构呢?🤔
- 下次再说👋