Skip to content

Latest commit

 

History

History
146 lines (105 loc) · 3.57 KB

7150-203377-000715 跳过_pass_猜丁壳.sy.md

File metadata and controls

146 lines (105 loc) · 3.57 KB
show version enable_checker
step
1.0
true

比较运算符

回忆

  • 这次了解了elif
  • elif就是else + if
  • 可以构成多分支语句
  • 不过在这个某些分支上
  • 我想啥都不做
  • 却出现了问题
  • 能否做到啥都不做呢???🤔

修改代码

图片描述

  • 问题就在于num == 0的时候
  • 没有任何语句
  • 我让他打印空字符串
  • 并且最后也不要加换行
  • 可以么?

图片描述

  • 可以倒是可以
  • 但是其实我要的是啥都不干
  • 但是他还是调用了print函数
  • 能否完全啥也不干呢?

pass

  • 有这么一个关键字pass
  • 他的意思就是啥都不做
  • 就像玩牌的时候
  • 什么都不出
  • 就是pass 直接过

图片描述

  • 可以用么?

代码

图片描述

  • 这样真的就可以啥都不用做
  • 而且也通过
  • 帮助手册里究竟是怎么说的呢?

手册

图片描述

  • pass是空运算
  • 当被执行的时候
  • 没有任何事情发生
  • 他是有用的占位标志
  • 当需要一个语句
  • 但是并不做任何事的时候
  • 就可以用pass
  • 甚至可以定义空的函数和类

完成功能

图片描述

  • 这样我这个功能就完成了
  • 而且啥都不干的位置就是啥都不干
  • 这个程序现在是一个多分支
  • 可以做成嵌套么?
  • 可以,但没有必要
  • 这种根据一个变量判断
  • 能用一层条件解决的问题
  • 没有必要用两层条件
  • 那什么时候需要用嵌套呢?
  • 比如面对两个变量

图片描述

两个变量

图片描述

  • 一个是我出的
  • 还有一个是电脑随机出的
  • 这个手势有相应代码吗?

unicode

图片描述

  • 这个是有的
  • mac的iterm2上可以用

图片描述

  • 可是目前xfce的terminal对于emoji还不支持
  • 我们选择字符串元组来描述手势

构建基础

图片描述

  • 然后讨论可能性

第一层条件

图片描述

  • 根据我的选择
  • 三种可能性
  • 每种可能性下
  • 电脑还有三种可能性

第二层条件

图片描述

  • 可以完成程序
  • 不过这个程序有点复杂
  • 可以简化一下吗?

简化

  • 首先如果相等,肯定是平局
  • 先把三种可能性合并
  • 然后再对手势分类讨论

图片描述

  • 不过这个代码中有一个小瑕疵
  • 可以优化的
  • 你可以看出来吗?

总结

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