购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 if条件分支语句

在3.3节中讲解了if语句条件成立时的处理方法,如果条件不成立该如何处理呢?可以使用if条件分支语句。使用if条件分支语句可以处理条件成立和条件不成立两种情况,其语法结构如图3-15所示。

图3-15 if条件分支语句的语法结构

● if是关键字,固定写法,不能有任何变化。

● conditional_test是条件测试表达式,返回的结果是逻辑值(True或False)。

● “:”是关键字,固定写法,不能有任何变化。

● do something1是条件测试表达式返回值为True时执行的处理语句。

● else是关键字,固定写法,不能有任何变化。注意,书写else关键字时要与if关键字对齐,相对if关键字,else是没有缩进的。

● do something2是条件测试表达式返回值为False时执行的处理语句。

3.4.1 if条件分支语句标准用法

在学习了if条件分支语句的语法后,下面看一个简单的案例。案例代码如下所示,代码在“Chapter-3-13.py”文件中。

先看条件成立时的运算逻辑。

第1行代码 if 100>=90: ,判断100是否大于或等于90,当前条件是成立的。

第2行代码 print('优秀') ,由于第1行代码条件判断的结果是成立的,所以执行该行代码,在屏幕上输出“优秀”。

第3行代码 else: ,准备执行条件不成立时的语句,固定写法。

第4行代码 print('普通') ,由于第1行代码条件判断的结果是成立的,所以不执行该行代码。

再看条件不成立时的运算逻辑。

第5行代码 if 80>=90: ,判断80是否大于或等于90,当前条件是不成立的。

第6行代码 print('优秀') ,由于第5行代码条件判断的结果是不成立的,所以不执行该行代码。

第7行代码 else: ,准备执行条件不成立时的语句,固定写法。

第8行代码 print('普通') ,由于第5行代码条件判断的结果是不成立的,所以执行该行代码,在屏幕上输出“普通”。

3.4.2 if条件分支语句单行写法

实际上,if…else…条件分支语句可以写在一行,也叫三目运算。如果处理语句不太复杂,则可以使用这种写法,语法结构如图3-16所示。

图3-16 if条件分支语句单行写法的语法结构

接下来看看这种单行写法的案例,代码如下所示,代码在“Chapter-3-14.py”文件中。

第1行代码 print('优秀')if 100>=90 else print('普通') ,因为100>=90是成立的,所以会执行代码 print('优秀')

第2行代码 print('优秀')if 80>=90 else print('普通') ,因为80>=90是不成立的,所以会执行代码 print('普通')

3.4.3 if条件分支语句应用案例:对数字进行分类计数

统计[95,89,69,100,88,94,91]列表中数字大于或等于90的个数和数字小于90的个数,代码如下所示,代码在“Chapter-3-15.py”文件中。

第1行代码 lst=[95,89,69,100,88,94,91] ,将列表赋值给lst变量。

第2行代码 counter_a,counter_b=0,0 ,分别初始化counter_a和counter_b,用于存储后面判断条件成立时的次数和条件不成立时的次数。

第3行代码 for num in lst ,循环读取lst列表中的数字,赋值给num变量。

第4~7行代码,在for循环体中执行,对循环读取的num变量的值进行判断,如果条件成立,则累加计数到counter_a变量中;如果条件不成立,则累加计数到counter_b变量中。

第8行代码 print('>=90有{}个,<90有{}个。'.format(counter_a,counter_b)) ,在屏幕上输出统计结果,最后返回的结果为“>=90有4个,<90有3个”。 wWHbtOJ/Ls3wE4c/BsUJgNwlfkrPimXTgCUjUG9uF7xDnn9FYDSgiEedYmkFthzu

点击中间区域
呼出菜单
上一章
目录
下一章
×