在生活中,经常会用到条件判断。比如登录网站账号时,系统会判断输入的账号密码是否正确,如果正确,就登录成功。这里的【如果...就...】就是系统遵循的条件判断,其作用在于让计算机明白在什么条件下该去做什么。

而在python中编程也经常会用到条件判断语句,以此来帮助我们完成很多自动化的任务。下面就来说说条件判断语句的使用方法。

1、单向判断:if

如果一个人的成绩大于或等于60分,他就及格了。【如果…就…】是一个单向判断,用条件判断语句中的单向判断if表示,看下面的代码。

5.python之条件判断if

 

第一行代码,给score赋值,用到的是之前讲到的赋值语句。

第二行代码,确定if的条件,如果变量score>=60,就执行下一行语句。注意:if条件判断语句结尾必须要有英文的【冒号】。

第三行代码,用print()函数打印出结果。注意:if条件判断语句的下一行必须要缩进4个空格或一个Tab键,目的是区分代码层次。在python中编程时不需要手动按空格或Tab键缩进,输入完【冒号】后按回车键,会自动实现下一行代码的缩进。

你可以尝试着输入图中的代码,看看打印结果。也可以尝试不进行缩进,看看会报出什么样的错误提示。在编程学习中,最重要的是要不停地实践!

2、双向判断:if…else…

上面说到一个人的成绩大于等于60分就及格了,如果小于60分时,程序运行结果是什么样的呢?这种情况下,需要补充判断条件,需要用到双向判断【如果…不满足,就…】。

5.python之条件判断if

 

对变量score赋值40,if条件语句判断score是否大于等于60,经判断score不满足if条件,因此进入下面的else进行判断。

else语句代表不满足if中条件的条件(即小于60),因为score的值小于60,所以执行else条件下的结果,打印出【很遗憾,你不及格!】

3、多向判断:if…elif…else…

上面做了大于等于60分和小于60分两个判断,那么如果需要判断3个或3个以上的条件,要用到什么样的指令呢?这时候需要多向判断命令【if…elif…else…】。

尝试阅读下图中的代码,在电脑上敲一遍,想想elif在其中代表的含义。

5.python之条件判断if

 

程序运行时会按照从上到下的顺序进行尝试,看满足哪个条件,如果不满足就继续尝试。直到遇到满足的条件,然后执行条件下的语句。

elif的作用是提供一个不同于if条件的条件,可以有多个elif条件同时出现,甚至可以不接else语句。倒数第二行代码【else:】可以写成【elif score == 100:】(别忘记了,==表示左右相等,=表示赋值。)。

4、if的嵌套

if的嵌套是在已经做出条件判断的语句中,增加新的细分的条件判断,看下面这个例子。

考试成绩评价规则:

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

a、如果成绩大于等于85分,属于优秀范围;

b、否则(即大于等于60分小于85分),属于一般范围。

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

a、如果成绩小于30分,平时太不认真,属于学渣了;

b、如果成绩(小于60分而大于等于30分),至少还能抢救一下。

这种条件中还套有条件的情况,就是嵌套。思考刚学过的知识点,需要用到哪些来实现考试成绩评价规则呢?

5.python之条件判断if

 

打印出的结果是:

【很遗憾,你不及格!】

【要认真学习,不能再当学渣了!】

为什么会打印出两个结果呢,这就需要捋一遍代码的执行顺序。

(1)对变量score赋值20

(2)判断score的值是否满足大于等于60,不满足。因此【if score>=60:】语句下面缩进的【if score>85:】和【else:】不执行(跳过下一层级的条件判断语句),直接执行同层级的else语句。

(3)判断score的值是否满足else的条件,满足条件,因此打印else下的print语句【很遗憾,你不及格!】。

(4)打印完成后代码继续执行,判断score的值是否满足【if score<30:】语句,满足条件,打印下面的语句【要认真学习,不能再当学渣了!】。代码执行完毕。

因此代码执行顺序是:成绩赋值20分—>成绩小于60分—>成绩小于30分

下面是一张关于嵌套的图,对照这张图来看嵌套代码,也许会感觉更清楚些。

5.python之条件判断if

 

本堂课的内容就到这里,上述知识点你掌握的怎么样?试着想想生活中有哪些进行条件判断的场景,写出来并运行。

 

相关文章: