难道只能一分两路吗
有没有可能我们要一分多路
# else if 另外如果
age = input('请输入年龄:')
age = int(age)
if age < 13:
print('小学')
elif age >= 13 and age < 18:
print('中学')
elif age >=18 and age < 22:
print('大学')
else:
print('社会')
有啊
if还有另外一个延伸功能
else是一种
还有另外一个
else if=另外如果
用一个井字号写注解
年龄比较适合一分多路
那因为我们问的是一种数字
年龄是一种数字
那你记得要做这个型别转换Casting
age等于int age
转换成整数
开始写if来跟数字做比较
来弄一个小学、中学、大学
如果年龄是小于13 国小
另外如果出现了 else if
else if 缩写=elif
年龄是大于等于13
13岁到18岁之间是中学
and年龄小于18
我们就印出中学
这时候看到一个从来没看过的东西 叫做and
and=串接
把两个问题
这每一个都是一个是非题对不对
年龄有没有大于等于13
年龄有没有小于18 串接在一起
and=而且
如果年龄大于等于13
而且年龄小于18
我们才印出国高中 就这么简单
那它都已经叫而且了 对不对
所以如果任何一边
譬如说右边变成False的话
那当然不对啊
左右都要对
and的左右都要对 都要变True
整个串接起来
合并起来才会变True
就这么简单
那我可以稍微再提醒你一下
遇到这种问题的时候
我们的眼睛要有办法把它化简
像这边化简成True
假设化简成True好了
True
那这边一样化简成True
那True and True
True而且True
它这整个True and True才会整个化简成True
你懂吗
它是分阶段的
从小的格局开始化简化简
最后整个再化简成True
and就是而且
那既然有看到and
你可以猜的到
那应该就有or 就是或
所以等一下出给你们的作业
就会用到or 或
国小处理完了 国高中还有什么
大学
另外如果
那再写一个 如果18到24好了
18到22
age and age小于22
是这样吗
如果都不是
如果你又不是国小 又不是国高中
又不是大学
我就写一个else否则
那我就说你是社会
如果年龄小于13就印出国小
另外如果else if 就另外如果
就这个的缩写
age大于等于13
而且age小于18的话
冒号就的话 我们就印出国高中
另外如果 age大于等于18
而且age小于22的话
我们就印出大学
都不是的话 就是否则
那就印出社会
所以我们现在是一分几路
一分四路 一 二 三 四
所以我们简单来说
我们有四种可能性
那值得特别跟你提点的就是说
这个四路
只有一路会进去
它不可能有任何其中两路执行到
或是其中一跟三对了
或是二跟四对了
它只会进去一个
那么如果第一个对了
二 三 四都不会执行了
都不会进去了
所以如果这个age小于13
是变成True的话
我这边涂掉变True
我们的程式根本就不用看剩下这边了
它会跳过
好 我们清掉 我们再看一次
现在有四路
一分四路对不对
要注意到的是
我们当要一分多路的时候
我们就要用到else if
这就是我们现在在教的
它简写叫做elif
elif=另外如果,else=否则
那你从这个例子你也看的出来
elif可以有很多个 对不对
像我们现在有两个
那else只能有一个 在结尾
它一定要在最后面
因为它的意思叫否则
否则当然要放最后面
因为否则就是捕捉所有剩下的
如果上面的条件都不对
像这边不对
这边也不对 这边也不对
我们才会最后落到else这边
我们最后落到else否则这边
你要印出社会
它捕捉所有剩下的可能性
所以换个角度想
你可以想像说
它从上往下读
然后一 二 三 四路
看哪一路先中奖 bingo中奖
如果 假设说第一路中奖好了
bingo中了 也就是说
age小于13变True了 中奖了
我们剩下的都不会看了 这一些
那如果第一路没中奖 叉叉
那我们就继续往下看
第二路有没有中呢
还是没中 可惜
第三路有没有中呢 中了中了
那剩下的这个else 我们就不看
它就是这样从上往下 看看哪一路先中奖
它的所谓中奖就是说它的条件对了
像这个条件变成True了 就中奖
我们剩下的就都不看
然后elif是可以有很多个
else只能有一个 一定在最后
捕捉所有剩下的可能性 就是这样
elif else这些
都是if的延伸
延伸的意思就是说
它必须要接在if的底下
它是if旗下的东西
我把它接下来 你看
它这全部都是往上
根源于这个第四行的if
所以现在画面上看到的这些程式码
从第四行到第十一行这整段
这整段
是同一个 if架构
只不过是说裡面的这个if架构
它有用到两个elif
然后有用到一个else而已
你要把这整个区块
看做是一个大框框这样子
它是一个架构