如题:

考试成绩评价规则:

如果成绩大于等于60分,就是及格,在此前提下:

  • 如果成绩大于等于80分,属于优秀范围;
  • 否则(即大于等于60分而小于80分),属于一般范围。

如果成绩小于60分,就是不及格,在此前提下:

  • 如果成绩小于30分,平时太不认真,属于学渣了;
  • 如果成绩(小于60分而大于等于30分),那么,至少还能抢救一下。

条件里还套条件

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

就像上面的基础条件是60分及格,想要判断优秀一般还要增加额外条件——是否大于等于80;在小于60分不及格基础条件下,想要判断学渣可抢救还要增加额外条件——是否大于等于30。

if嵌套的执行顺序

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

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

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

计算机执行的顺序就是:

(1)先给historyscore赋值;

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

(3)执行print(‘程序结束’)。

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

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

if嵌套的逻辑导图:

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