实在都不满足,执行else下的代码块
if、elif、else三者所代表的条件都是互斥的。
score = 74if 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 = 94if 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: # 嵌套ifprint('优秀') else: print('良好') print('是个人才!')
其他条件的代码块将不会执行。
在上述代码中,又一个嵌套if,则继续判断条件,进入if、else互斥条件中的其中一个代码块内。
根据成立条件,进入if,打印“优秀”
if goal > 90: # 嵌套ifprint('优秀')
最后,跳出嵌套if,执行嵌套if外边、elif里边的其他剩余代码,打印“是个人才”。
print('是个人才!') 思考应用题用py代码实现如下逻辑(欢迎评论留言你的写法)
秋天到了,树上果子熟了。猴妈妈让小猴子去山上摘果子。猴妈妈告诉猴子:
如果碰到了苹果树,树上还有5个以上红果子,就摘五个苹果回来。没有的话就摘两个青果子。
碰到了香蕉树,若手里有5个苹果拿不了多少,就摘两根回来。手里有2个苹果,就摘10根香蕉回来。手里没苹果,就尽可能多摘回来点香蕉。