python if嵌套的执行流程_Python语言难学吗?第6讲——if嵌套

接上节课的故事,我们继续~

不管复仇者联盟怎么竭尽全力,最终,灭霸还是打出了响指。所有人在一瞬间面临着分离与死亡。

即使套着超级英雄的外衣,蜘蛛侠彼得·帕克也仅仅是个18岁的高中生。他曾只顾忙着在街头巷尾当平民英雄,结果在期末历史考试里只考了26分,荣获“学渣”提名。

但这个“学渣”评价并不是随便来的,而是通过规则一步步过滤出来的:

像这种如果底下还有如果、条件里还套条件的情况,我们如何用Python把上面的规则写出来,并得出评价呢?

答案就是——嵌套条件。

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

就像上面的基础条件是60分及格,想要判断优秀和一般还要增加额外条件——是否大于等于80。

因此,彼得·帕克的成绩评价规则,用if嵌套可以像下方代码这样:

居然出现了三个扎心的结果……那么,在Python中,我们如何同时得出不及格、学渣、程序结束这三个结果的呢?

首先,我们先从整体总览一下,这段彼得·帕克成绩评价规则的代码,总共分为四部分【赋值、if、else、print()】,两个大代码组。

并且,在代码组1的if条件和代码组2的else的条件下,又包含了条件判断命令if...else...。

那么,这种嵌套命令我们要如何理解呢?

首先,我们知道,缩进相同的命令处于同一个等级,第一步,计算机就要按顺序一条一条地执行命令。

那么,计算机执行的顺序就是:

(1)先给historyscore赋值;

(2)因为if和else是只能留一个的互斥关系,if和else下的代码块只会执行一个,所以计算机要判断赋值的内容满足【historyscore>=60】还是【historyscore<60】的条件——如果满足if的条件,就执行if缩进下的内容,如果不满足就执行else缩进下的内容;

(3)执行print('程序结束')。

蜘蛛侠26分的历史成绩要找else代码块:else:。然而,问题又来了,else代码块后面不仅跟着三个print(),还有if,所以我到底要输出哪个?

所以,计算机语法的执行逻辑永远都不会变,else下的代码也要一行一行往下执行,并根据条件判断运行对应层级,输出对应结果。

所以,我们的运行顺序是,先输出的结果不及格,然后再判断历史成绩26分的赋值符合历史成绩<60分且<30分还是历史成绩<60分且>=30分的条件。

下面,我们再通过一张导图理一下if嵌套的逻辑,老师建议你把这张图收藏起来,接下来写嵌套代码的时候可以翻看:

要注意的是,elif也是可以放进嵌套里的。

是不是很有趣?那么如何写嵌套代码?

下节课教你个小技巧~

----------------------------------------------------------------------------------------------

更多Pthon课程请扫码关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值