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

3.1 选择语句

选择语句又称为分支语句,它通过对给定的表达式进行判断,从而决定执行两个或多个分支中的哪一个。因此,在编写选择语句之前,应判断表达式是什么,并确定当判断结果为True或False时应分别执行什么样的操作。

3.1.1 if语句

如果表达式计算结果为True就执行“代码块”,否则就执行if结构后面的代码。

if语句的语法格式如下。

if 表达式:
   代码块

if语句的流程图如图3-1所示。

图3-1 if语句的流程图

其中,表达式由运算符和操作数所构成。表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式(例如:a > b and a != c)。如果表达式为True,则执行“代码块”;如果表达式为False,就跳过“代码块”,继续执行后面的语句。

下列代码演示了使用if语句的过程,源代码见code\3\if1.py。

1  score=int(input('请输入考试成绩:'))
2  if score>=60:
3      print ('及格')
4  print('本次程序结束')

代码执行后,当输入分数大于等于60时,则输出“及格”,并输出“本次程序结束”;当输入分数小于60时,表达式不成立,直接结束if语句,输出“本次程序结束”。

3.1.2 if...else语句

如果表达式计算结果为True就执行if表达式后面的代码块1,否则就执行else分支后面的代码块2。

if...else 语句的语法格式如下。

if 表达式: 
  代码块1 
else: 
  代码块2 

if...else 语句的流程图如图3-2所示。

图3-2 if...else语句的流程图

使用if...else 语句时,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果满足表达式则执行if表达式后面的代码块1,否则执行else分支后面的代码块2。else不可以单独使用,它必须和关键字if一起使用。

可以通过网上的一个段子来加深了解。

老婆给当程序员的老公打电话:“下班顺路去买一个西瓜,如果看见西红柿,就买两个。”

当晚,程序员老公手捧两个西瓜进了家门……

老婆怒道:“你怎么买了两个西瓜?!”

老公答:“因为看到了西红柿。”

这个网上的段子是一个典型的if...else结构,下面通过代码来演示两种版本,源代码见code\3\ifelse.py。

首先是程序员思维的版本。

1  #程序员的版本
2  #如果看见在销售的西红柿
3  if tomato_is_sell:
4      print("买两个西瓜")
5  else:
6      print("买一个西瓜")

再看看正常思维的版本,是一个if语句结构,源代码见code\3\ifelse1.py。

1  #正常思维的版本
2  print("买一个西瓜")
3  #如果看见在销售的西红柿
4  if tomato_is_sell:
5      print("买两个西红柿")

3.1.3 if...elif...else语句

使用 if...elif...else 语句时,如果表达式为True,执行相应代码块;而如果表达式为False,则跳过该代码块,进行下一个elif的判断;只有在所有表达式都为False的情况下,才会执行else分支的代码块。

if...elif...else 语句的语法格式如下。

if 表达式 1: 
  代码块 1 
elif表达式 2: 
  代码块 2 
elif表达式 3: 
  代码块 3
……
else: 
  代码块 n 

if...elif...else 语句的流程图如图3-3所示。

图3-3 if...elif...else语句的流程图

下列代码演示if...elif...else 语句的使用,源代码见code\3\if_elif_else.py。

1  score=int(input('请输入考试成绩:'))
2  if score==100:
3      print ('恭喜你,满分')
4  elif score>=90 and score<100:
5      print('很棒')
6  elif score>=80 and score<90:
7      print('成绩良好,继续努力')
8  elif score>=70 and score<80:
9      print('一般')
10 elif score>=60 and score<70:
11     print('勉强')    
12 elif score>=0 and score<60:
13     print('不及格,重新来过')
14 else:
15     print('输入错误!')

注意事项如下。

(1)Python中用elif,而不是else if。

(2)每个条件后面都要使用冒号。

(3)使用缩进划分语句,相邻的缩进数相同的语句一起组成一个代码块。 Btyl1bDvjRqVpDBo2QSqgpnNtsyuBVx8ZXl9Rae9Kln/bUjkmMNO6BbiNm9g+RSw

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