今天讲解的是第三篇《何去何从的选择结构》。本节首先针对条件测试涉及到的关系运算符和逻辑运算符分别介绍,然后学习如何编写简单的if语句、if-else语句和if-elif-else结构。知识点学习共包括五关。

      你准备好了吗?Let’s  go !


第一关 关系运算符

    关系运算符,比较运算符两边的值的大小,并确定它们之间的关系。经过关系运算符比较后,运算结果是一个布尔类型(bool)值。我们知道,布尔类型通常用于逻辑判断,只有两个值True和False,分别代表真和假。常见的关系运算符如下所示。

python显示商 python中的商_逻辑运算符

 从以上运算符定义中,我们可以看出,关系运算符能够用来比较数字是否相等、比较数字大小、比较字符串是否相同等,因此关系运算符是条件检测的基础。

 

第二关 逻辑运算符

    当我们想检查多个条件时,就会用到逻辑运算符。逻辑运算符可以对关系式或布尔值进行逻辑运算。本节介绍and(与)、or(或)和not(非)三个逻辑运算符。

【使用and检查多个条件】


当要检查两个条件是否都为True时,可以使用and将两个条件测试同时执行。如果每个条件都通过则整个表达式返回True,如果有一个条件不通过则整个表达式返回False。如果想让程序可读性更强,可以在每个条件外面增加一对括号。示例如下。

python显示商 python中的商_选择结构_02

      从以上示例可以看出,经过逻辑运算符and后,当两个都为True时,结果才是True。

【使用or检查多个条件】

当要检查两个条件中至少一个为True时,可以使用or将两个条件测试同时执行。如果至少一个条件通过则整个表达式返回True,如果两个条件都不通过则整个表达式返回False。如果想让程序可读性更强,可以在每个条件外面增加一对括号。示例如下。

python显示商 python中的商_python显示商_03

     从以上示例可以看出,经过逻辑运算符or后,只要一个为True时,结果就是True。

【使用not反转逻辑状态】


not用于反转操作数的逻辑状态。

python显示商 python中的商_if语句_04

    从以上示例可以看出,经过逻辑运算符not后,把True变为False,把False变为True。


逻辑运算符内部的优先级


逻辑运算符内部的优先级是not>and>or。


不同运算符之间的优先级


在运算符的优先级比较中,算术运算符 > 关系运算符 > 逻辑运算符。

当表达式中出现“( )”时,它的运算级别最高,应先运算“( )”内的表达式。



第三关

选择结构

  在“关系运算符”和“逻辑运算符”两关中,我们知道了基于这些运算符,可以对条件进行检测。那么,条件检测和选择结构有什么关系呢?接下来我们就看一看什么是选择结构。以下是选择结构示意图。

python显示商 python中的商_选择结构_05

 选择结构,也叫分支结构。从上图可以看出,依据条件的成立与否,选择执行不同的分支处理。当条件成立时(用“True”表示),执行处理A程序块;当条件不成立时(用“False”表示),执行处理B程序块。

让我们来看最简单的一种情况,仅由一个if语句构成的选择结构。一个if语句由一个条件测试(也就是“布尔表达式”),后面跟一个或多个语句组成。如下图所示。

python显示商 python中的商_python显示商_06

上图中,if语句后面是一个值为True或False的表达式,这个表达式被称为条件测试。Python根据条件测试的结果为True还是False来决定是否执行紧跟在if语句后面的缩进代码块。当条件测试的结果为True时,就执行缩进代码块;否则就跳过。


第四关 if-else语句

在第三关中,我们已经了解了if判断语句,当满足条件时将执行一个操作。但是我们经常会遇到这种情况:当满足一种条件时执行一个操作,在没有通过该条件时,执行另一个操作。在这种情况下,我们使用if-else语句,即一个if语句跟随一个可选的else语句,当if语句的布尔表达式为False时,则else语句块将被执行。我们看一下视频讲解。

让我们回顾一下视频中的分析过程。首先,将生活中的实际问题转变为计算机能处理的解决方案,也就是用选择结构来解决问题。其次,用Python语言,也就是用if-else语句通过编程和程序运行,来实现上述计算机解决方案。

我们可以看出,if-else语句适合于让Python执行两种操作之一的情形。在这种结构下,总是会执行两个操作中的一个操作。

第五关


if-elif-else结构

在第三、四关中,我们已经分别尝试了if语句、if-else语句。但是当我们需要检查超过两个情形时,该怎样处理呢?Python为我们提供了if-elif-else结构。关键字“elif”是“else if”的缩写,这样可以避免过深的缩进。

    Python只执行if-elif-else结构中的一个代码块,Python会依次检查每个条件测试,当遇到了满足的条件测试后,Python将执行该条件情况下的代码块,并跳过剩余的条件测试。

让我们看看如何编写if-elif-else选择结构程序吧!

python显示商 python中的商_python显示商_07

      从上图可以看出,选择结构通常包括内容三部分:

第一部分:一条if语句;

第二部分:根据题意设置的任意数量的elif代码块;

第三部分:一条else语句,这条语句不是必须的,但是很有用。只要不满足任何if或elif中的条件测试,else中的代码就会被执行。

以上我们讲解了选择结构如何解决实际问题,是不是很神奇?现在大家知道选择结构在什么时间、什么地点应该去执行什么任务了吧?“选择”何去何从其实很简单!

文末,温馨提醒大家注意事项:

1、遇到实际题目不要慌张,首先观察题目中是否有需要判断的条件,如果有则需要合理选择哪种分支结构,即看是应该选择if语句,还是选择if-else结构、或是if-elif-else结构。通常当条件分支为两个时,选择if-else结构;当条件分支超过两个时,选择if-elif-else结构;

2、思考如何将实际问题转换成计算机解决方案,也就是判断出哪个是条件变量、条件表达式如何构建、哪个是待求变量、待求变量如何计算、哪个变量需要打印输出;

3、注意题目中对每个变量类型的要求,是否需要转换整数,或者浮点数;

4、按照选择的if语句结构类型,写出完整的选择语句结构,一定注意if、else、 elif之后一定有冒号啊;

5、根据题意,合理构建条件判断表达式,有序填充到if语句结构体条件判断部分;

6、在每一个分支代码块内部,根据满足的条件,对待求变量进行赋值。对于新手,可以考虑在此时打印输出待求变量。构造分支体内部代码时,注意赋值语句、打印输出语句一定都是缩进代码块。这部分代码块不限制语句数量;

7、不限制if语句结构类型,只要能满足题意,解决问题即可;

8、对于编程熟练者,不建议在分支代码块中进行输出,而是最后统一输出。统一输出的print()语句,没有缩进;

9、缩进代码以4个空格为宜;

10、输入语句一定要“友好”啊!

恭喜你,已经能够完成有实际意义的Python选择结构程序了!是不是依然很简单?一切尽在你掌握!

欢迎你继续进入下一期闯关!

感谢大家收看这一期的《何去何从的选择结构》讲解,我们下期再见!