【python系统学习04】条件判断语句 (2)

实在都不满足,执行else下的代码块

if、elif、else三者所代表的条件都是互斥的。

score = 74
if score > 99: print('优秀') elif score > 85: print('良好') elif score > 66: print('及格') else: print('好意思吗?!') print('我没有错缩进,不是if的语句块,不受条件限制,我都要打印。') # 及格 # 我没有错缩进,不是if的语句块,不受条件限制,我都要打印。

74不满足>99,所以if下边的代码块跳过不执行

74不满足>85,所以第1个elif下边的代码块跳过不执行

74满足>66,所以执行第2个elif下边的代码块,打印及格

最后跳过else,执行最后不受语句控制的print。

if 嵌套

if嵌套的应用场景,简单来讲就是:在第一个条件条件满足的情况下,在此基础上增加额外的条件判断。

嵌套示例

实现如果底下还有如果、条件里还套条件

goal = 94
if goal > 99: if goal < 105: print('天才') else: print('人间精品') elif goal > 85: if goal > 90: # 嵌套if
print('优秀') else: print('良好') print('是个人才!') elif goal > 66: print('及格') else: print('好意思吗?!') # 优秀 # 是个人才!

94分,满足第一个elif的>85的条件,执行elif下的代码块

在代码块中,还有一组if...else...

因为满足嵌套if中的else,即85不大于90。所以打印良好

在elif goal > 85:这组代码块中,还有一个print('是个人才!')不受内部嵌套if的管制,所以在第一个elif条件成立后,也打印了出来。

嵌套执行顺序

缩进相同的命令处于同一个等级。

因为计算机就要按顺序一条一条地执行命令

先给goal赋值为94

if、elif、else是只能走一个的互斥关系,所以当条件满足第一个elif的时候,就进入该elif的代码块内。 如下:

elif goal > 85: if goal > 90: # 嵌套if
print('优秀') else: print('良好') print('是个人才!')

其他条件的代码块将不会执行。

在上述代码中,又一个嵌套if,则继续判断条件,进入if、else互斥条件中的其中一个代码块内。

根据成立条件,进入if,打印“优秀”

if goal > 90: # 嵌套if
print('优秀')

最后,跳出嵌套if,执行嵌套if外边、elif里边的其他剩余代码,打印“是个人才”。

print('是个人才!') 思考应用题

用py代码实现如下逻辑(欢迎评论留言你的写法)

秋天到了,树上果子熟了。猴妈妈让小猴子去山上摘果子。猴妈妈告诉猴子:

如果碰到了苹果树,树上还有5个以上红果子,就摘五个苹果回来。没有的话就摘两个青果子。

碰到了香蕉树,若手里有5个苹果拿不了多少,就摘两根回来。手里有2个苹果,就摘10根香蕉回来。手里没苹果,就尽可能多摘回来点香蕉。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjxfz.html