上课,同学们好,请坐。同学们,在我们的生活中,往往会面临许许多多的选择,而这些选择会产生不同的结果。如果我们选择好好学习,那么就会收获好成绩;如果我们选择讲文明、懂礼貌,那么就会收获高尚的品行。什么样的选择往往对应着什么样的结果。那么,在程序设计语言,也就是我们今天要学习的Python语言当中,它有没有选择结构呢?它的选择结构又要怎样表示呢?大家现在来看一下书本的74页,对Python的选择结构内容进行预习,我们等一下一起探讨Python如何书写选择结构。
老师看到刚刚同学们都看得非常认真,相信大家对选择结构已经有了初步的了解。现在我们一起来看看究竟要如何表示选择结构呢?首先来看一种最简单的选择结构——单分支if语句。有没有同学知道if是什么意思?你说if是“如果”的意思。那么在程序设计语言当中,单分支if语句意思就是如果条件表达式成立,则执行语句。这样一种条件表达式对应一个语句结果的方式,就叫做单分支if语句。比如说,如果我们的a(也就是成绩)大于等于60分,则输出“成绩合格”,这样一种选择对应一种结果就叫做单分支。但是我们的成绩当中,大于60分是合格,那如果不大于60分呢?小于60分是,诶,不合格。那么不合格要怎么表示呢?有同学说到,在这后面再加一个if语句,如果小于60分,则输出“不合格”。诶,你想的很巧妙,这样我们就可以用两个单分支语句来判断。但是这样还是太麻烦了,如果有一个语句可以表示除了第一个条件表达式之外的所有条件,因为如果大于60分是合格,那么反之则不合格。
我们来看另一种情况——双分支if语句,它就是在单分支语句上加了一个else语句,else是“其余、否则”的意思。如果条件表达式成立,执行语句a,否则(也就是条件不成立),则执行语句b。那么在这个例子当中,“否则”的意思就是除了大于等于60分的情况,也就是小于60分则输出“不合格”。这样就可以涵盖条件成立和条件不成立两种情况。因为我们刚才的例子说过,如果我们选择好好学习,则收获好成绩;但是如果没有好好学习,是不是也会有相应的结果?每一种选择都会有相应的结果,所以没有好好学习也就会收获坏成绩。因此,用双分支语句可以概括条件成立和条件不成立两种情况。
那么接下来请大家想一想,我们生活当中有一个选择、两个选择,那么还有没有其他的选择呢?比如说我们的成绩有合格有不合格,但是在成绩等级判定的过程当中,是不是会有A、B、C、D等等多个等级?这样多个选择、多个等级的判定应该要如何表示呢?请大家看书思考这个问题,或者小组之间讨论一下,我们5分钟之后一起来看这个知识点。
好,同学们都看完了吗?我们一起来看。怎样来表示多分支的条件语句呢?诶,大家仔细观察一下这个语句和刚才的双分支if else有什么区别呢?诶,有同学细心地观察到了,它就是在if else中间插入了多个elif语句。那么elif语句是什么意思呢?就是说第一个条件判断之后,如果成立则执行语句一;如果不成立,则执行“否则如果”,即去判断语句2是否成立,若成立则执行语句二。接下来就会一直判断,直到条件成立为止。这样的方式就可以囊括多种选择,从第一种条件开始判断,直到它的条件成立为止,如果一直不成立,它就会一直执行,如果都不成立,就会执行最后的else语句,也就是其余的所有情况,这样就可以把所有的选择都包含其中。
那么现在老师想考大家一个问题。期中考试之后,老师需要统计成绩,将成绩分为优秀、良好、合格与不合格。刚才老师和大家一起看了如何判断合格与不合格,这个时候老师需要大家来判断4个等级,应该用什么语句来表示?诶,你说的很好,用多分支语句可以表现多个条件。
好,现在请大家一起完成任务一:判断成绩等级,限时10分钟,完成之后请大家上传到我们的文件夹当中。好,老师看到大部分同学都已经完成任务了,但是还是有一小部分同学比较粗心,出现了一些小错误。我们一起来看一下这道题应该注意哪些内容呢。首先第一步要输入成绩,这是我们在之前的输入输出练习当中反复进行的,就不多说。接下来就进入到条件判断的过程当中,条件判断需要判断4个等级,因此第一个判断条件是if,接下来两个应该是elif,最后是else。刚才有同学明明书写对了,但是却跟老师说:“老师你看,我这里明明表达式和条件都选择对了,为什么它还判断我是错误呢?”老师走下去一看,发现他少加了一个冒号。诶?有没有同学知道这个冒号是什么意思呢?这个冒号就是在我们的程序条件表达式之后放置的,意思就是说如果我们的分数大于85,则执行语句print(“优秀”),也就是说这个“优秀”是在满足条件之下才进行的,是嵌在这个if条件里面的,所以要加一个冒号表示它们之间的嵌套关系。
