Skip to content

Latest commit

 

History

History
237 lines (169 loc) · 6.04 KB

7160-203381-000716 逻辑与_and.sy.md

File metadata and controls

237 lines (169 loc) · 6.04 KB
show version enable_checker
step
1.0
true

逻辑与and

回忆

  • 这次完成了综合案例 - 猜丁壳
  • 猜丁壳中有两个变量
    • 你的选择
    • 电脑的选择
  • 这样就构成了嵌套的条件结构
  • 一般来说这种条件结构无法转化为多分支
  • 是不是绝对无法转化为多分支呢???🤔

世事无绝对

  • 要说绝对的事情很难成立
  • 毕竟道可道,非恒道
  • 物理学框架都没法做到绝对正确
  • 可具体怎么转化为多分支呢?
  • 我们先去趟游乐场

图片描述

布尔运算

图片描述

  • 我们可以用一种逻辑运算
  • 逻辑与是一个运算符
  • 叫做and
  • 去帮助手册查一下and的一手资料

and 逻辑与

图片描述

  • 布尔运算其实有三种
    • 逻辑与 and
    • 逻辑或 or
    • 逻辑非 not
  • not 我们见过了
  • and其实就是两个bool型变量的运算
  • bool型变量总共就两个
    • True
    • False
  • 我们遍历一下

逻辑与and的真值表

图片描述

  • 全都得是真的
  • 这个结果才能是真的
  • 为什么有这种逻辑运算呢?

逻辑来源

图片描述

  • 这种逻辑来源于电路
  • 两个开关量
  • 必须都为True
  • 整个电路才连通起来

图片描述

  • 只连一个不行
  • 生活中这种例子也常见

有首歌

图片描述

  • 如果你快乐并且感到快乐
  • 那就拍拍手
  • 不快乐不拍
  • 感受不到不拍
  • 都有的时候才拍
  • 一个巴掌拍不响
  • 就和搞对象一样

搞对象

图片描述

  • 比如说俩人搞对象 谈恋爱
  • 必须俩人都认为是谈恋爱 才算是谈恋爱
  • 否则的话 只有一个人认为是谈恋爱
  • 那算是什么
  • 算是追求吧。。。应该是
  • 那什么人能追
  • 什么人不能追呢?

追求

图片描述

  • 一般来讲有这么两个条件
    • 相同物种
    • 单身的异性
  • 这两条最好都为True
  • 追求才比较合理

图片描述

  • 最好两条都满足
  • 就像声控灯似的

声控灯

图片描述

  • 光敏开关得满足条件
  • 声控开关也满足条件
  • 得都满足条件
  • 有一个不满足
  • 就不行
  • 有一个不满足就不亮
  • 差一个都不行

图片描述

  • 用户名密码都有都对才行
  • 差一点都不对

旅游

图片描述

  • 大巴得人都上来了
  • 才能开
  • 不能说来一个人就开

图片描述

  • 5v5得都准备好才开
  • 你说我等不急了
  • 谁先进去谁先开
  • 那不行

地铁

图片描述

  • 地铁人多的时候
  • 什么时候开车
  • 得门都关好之后上车
  • 你说有个门也不知道关门关好
  • 强行开车?

惨剧

图片描述

  • 那就很可能出危险
  • 总之逻辑与就是要保证
  • 条件都满足
  • 猜丁壳的代码怎么改呢?

修改代码

图片描述

  • 确实可以变成多分支
  • 可是原来的嵌套和现在的多分支哪个效率高呢?

比较

比较项目 原来的嵌套条件 现在的多分支条件
if判断次数 7 9
比较运算符使用次数 7 18
逻辑运算符使用次数 0 9
  • 可以肯定原来的嵌套条件比这个多分支条件效率高得多
  • 是不是嵌套条件就一定比多分支条件效率高呢?
  • 一定、绝对这类词汇太绝对
  • and 左右两边操作数是不是绝对是bool型的呢?
  • 绝对不要说绝对啊
  • 试试才知道

数字and

图片描述

  • 如果有0就返回0
  • 如果都不是零
  • 就返回后面的
  • 最终结果是可以通过bool转化的

图片描述

  • 字符串如何呢?

字符串and

图片描述

  • 有空串返回空串
  • 没空串返回后面的
  • 判断的是是不是空串

图片描述

  • 还有什么数据类型呢?

容器 and

图片描述

图片描述

  • 有空容器返回空容器
  • 没有空容器返回后面的
  • 如果是两个不同类型的空容器呢?

容器

图片描述

  • 其实返回什么空容器不是很重要
  • 各种空容器对应的布尔值是相同的

总结

  • 这次学习了and
  • and是一个逻辑与运算符
  • 都是True的时候才返回True其余都返回False
  • 这个运算符变量可以有数字、字符串、容器之类的
  • 逻辑还是零、空串、空容器对应False
  • 一旦出现False
  • 就返回逻辑值False对应的变量
  • 这样可以对于数字范围进行多重限制
  • 不但让他处于一个合理的区间范围
  • 可以么???🤔
  • 下次再说👋