Skip to content

Latest commit

 

History

History
189 lines (123 loc) · 4.39 KB

142-203376-多分支条件语句_elif.sy.md

File metadata and controls

189 lines (123 loc) · 4.39 KB
show version enable_checker
step
1.0
true

比较运算符

回忆

  • 上次看了条件语言的嵌套
  • 条件语句下面还可以有条件语句
  • 缩进结构既是样式也是逻辑关系
  • 嵌套可以有很多很多层
  • 可以把嵌套语句的层数降低么?
  • 先回忆上次的代码

回忆

图片描述

  • 这 if 条件本质上是分段
  • 先从中间分开
  • 然后左右再分开

图片描述

查询 if

图片描述

  • elif 其实就是 else + if

  • 这些都和 if 并排

  • 我可以从轻到最重

  • 一段段用 elif 分开么?

多分支

图片描述

  • 这样嵌套条件语句就变成了多分支条件语句

图片描述

更多分支

图片描述

  • 体重过轻和体重过重其实也可以细分
  • 可各个分成三个级别

图片描述

  • 这依然不用嵌套
  • 用一层的多分支就搞定了
  • 对于同一个变量判断来说
  • 最好是用多分支而不是嵌套

区分万物

  • 我们因此可以区分世上各种类别的东西

图片描述

制定策略

  • 根据情况的不同
  • 分类讨论各种情况的处理策略

图片描述

编写程序

  • 具体来说就是编写各种程序

图片描述

  • 分支很多的情况也很常见

药方输出

s_fangzi = "麻黄9g 炙甘草6g 杏仁9g 生石膏15-30g(先煎) 桂枝9g 泽泻9g 猪苓9g 白术9g 茯苓15g 柴胡16g 黄芩6g 姜半夏9g 生姜9g 紫菀9g 冬花9g 射干9g 细辛6g 山药12g 枳实6g 陈皮6g 藿香9g"
l_drugs = s_fangzi.split(" ")
i_num = 0
for s_drug in l_drugs:
    i_screen_len = 0
    for c in s_drug:
        if 0x4e00 <= ord(c) <= 0x9fff:
            i_screen_len += 2
        else:
            i_screen_len += 1
    if i_screen_len >= 8:
        s_drug = s_drug + "\t"
    elif i_screen_len >= 4:
        s_drug = s_drug + "\t\t"
    print(s_drug,end='')
    if i_num % 4 == 3:
        print()
    i_num = i_num + 1
  • 这个药方输出的过程中
    • 根据字体 长度判断
    • 补齐 缩进

图片描述

  • 分类讨论

决策过程

  • 决策过程也像一棵树一样
  • 有很多的分支

图片描述

  • 叫做决策树

宇宙速度

图片描述

  • 根据数值的不同
    • 就会出现不同的结果

图片描述

十二星座

  • 比如我们熟悉的十二生肖
  • 或者外国的十二星座

图片描述

  • 同样的内容
  • 使用不同的分类方法
  • 就会有不同的解释体系

分类方法

  • 一年可以分为
    • 四季
    • 12 个月
    • 二十四节气

图片描述

七十二物候

  • 七十二物候
    • 在每个节气 分成三个物候

图片描述

  • 分支多了就容易乱

问题

  • 我要做这么一个程序
    • 流程如下图

图片描述

  • 当 num == 0 的时候
    • 什么也不干

代码和问题

  • 代码如下

图片描述

  • 报了一个缩进的错误
  • 可是我就想要 num == 0 是什么都不做啊?

总结

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