Python 的条件控制语句

程序并非是一成不变的向下执行,有的时候也要根据条件的不同选择不一样的代码,这个时候便用到了分支结构。那么到底如何让程序根据条件的不同选择不一样的代码呢?我们一起来看下:

1. 分支选择结构

1.1 功能与语法

程序可以根据条件执行不同的分支,程序结构如下图所示:

图片描述

图:条件选择结构

在图中,对条件进行判断:

  • 如果条件为真,执行“条件为真的分支”
  • 如果条件为假,执行“条件为假的分支”

Python 提供了 if 条件控制语句用于选择执行流程,Python 的 if 语句的语法如下:

if 条件:
    条件为真的分支
else:
    条件为假的分支

if 语句中可以省略 else 分支,语法如下;

if 条件:
    条件为真的分支

1.2 例子

例子 1,编写程序 if-else.py 如下:

实例演示
预览 复制
复制成功!
if 2 > 1:
    print('2 > 1 is true')
else:
    print('2 > 1 is false')
运行案例 点击 "运行案例" 可查看在线运行效果
  • 在第 1 行,判断条件 2 > 1 是否成立
  • 在第 2 行,因为条件成立,执行 print(‘2 > 1 is True’)
  • 在第 3 行,因为条件不成立,不执行 print(‘2 > 1 is False’)

程序 if-else.py 的输出结果为:

2 > 1 is true

例子 2,编写程序 if.py 如下:

实例演示
预览 复制
复制成功!
if 1 == 1:
    print('1 == 1 is true')
运行案例 点击 "运行案例" 可查看在线运行效果
  • 在第 1 行,判断条件 1 == 1 是否成立
  • 在第 2 行,因为条件成立,执行 print(‘1 == 1 is True’)

程序 if.py 的输出结果为:

1 == 1 is true

2. 多分支选择结构

2.1 功能与语法

程序可以根据多个条件的筛选执行不同的分支,程序结构如下图所示:

图片描述

在图中,对多个条件进行判断:

  • 如果条件 1 为真,则执行代码块 1
  • 如果条件 2 为真,则执行代码块 2
  • 如果条件 3 为真,则执行代码块 3
  • 如果以上条件都不满足,则执行代码块 4

Python 提供了 elif 语句用于选择多个条件,Python 的 elif 语句的语法如下:

if 条件 1:
    代码块 1
elif 条件 2:
    代码块 2
elif 条件 3:
    代码块 3
else:
    代码块 4

if 语句中可以省略 else 分支,语法如下;

if 条件 1:
    代码块 1
elif 条件 2:
    代码块 2
elif 条件 3:
    代码块 3

2.2 例子

编写程序 select.py 如下:

实例演示
预览 复制
复制成功!
color = input()
if color == 'red':
    print('color is red')
elif color == 'green':
    print('color is green')
elif color == 'blue':
    print('color is ')
else:
    print('color is other')
运行案例 点击 "运行案例" 可查看在线运行效果
  • 在第 1 行,将用户输入的字符串保存在变量 color 中
  • 在第 2 行,执行条件判断:color 是否等于 ‘red’,如果成立则执行第 3 行对应的分支
  • 在第 4 行,执行条件判断:color 是否等于 ‘green’,如果成立则执行第 5 行对应的分支
  • 在第 6 行,执行条件判断:color 是否等于 ‘blue’,如果成立则执行第 7 行对应的分支
  • 在第 8 行,如果以上条件判断都不成立,则执行第 9 行对应的分支

运行程序 select.py,结果如下:

C:\> python select.py
green
color is green
  • 程序运行时,输入字符串 green
  • 满足程序第 4 行的条件判断,输出结果为 color is green

再次运行程序 select.py,结果如下:

C:\> python select.py
yellow
yellow is other
  • 程序运行时,输入字符串 yellow
  • 第 2 行、第 4 行、第 6 行的条件判断均不成功,执行第 9 行,输出结果为 yellow is other

3. 分支嵌套结构

3.1 功能与语法

在分支选择程序中,分支也可以是分支选择语句,形成分支嵌套结构,如下所示:

图片描述

图:分支嵌套结构
  • 程序首先判断条件 1 是否为真
  • 如果条件 1 为真,则判断条件 2 是否为真
    • 条件 1 为真并且条件 2 为真,执行代码块 1
    • 条件 1 为真并且条件 2 为假,执行代码块 2
  • 如果条件 1 为假,则判断条件 3 是否为真
    • 条件 1 为假并且条件 3 为真,执行代码块 3
    • 条件 1 为假并且条件 3 为假,执行代码块 4

3.2 例子

编写程序 nest.py 如下:

实例演示
预览 复制
复制成功!
sex = input()
age = int(input())
if sex == 'male':
    if age > 50:
        print('old male')
    else:
        print('young male')
else:
    if age > 50:
        print('old female')
    else:
        print('young female')
运行案例 点击 "运行案例" 可查看在线运行效果
  • 在第 1 行,用户输入性别 sex
  • 在第 2 行,用户输入年龄 age,注意:使用函数 int() 将用户输入的字符串转换为整数
  • 在第 3 行,判断用户性别
    • 如果为真则执行第 4 行的 if 语句
    • 如果为假则执行第 9 行的 if 语句

运行程序 nest.py,结果如下:

C:\> python nest.py
female
20
young female
  • 首先,用户输入性别为 female
  • 然后,用户输入年龄 20
  • 经过第 3 行的条件判断 sex == male 和 第 9 行的条件判断 age > 50
    • 执行第 12 行的语句
    • 输出 young female

4. 小结

分支结构在工作中可谓是基本每天都会写,所以掌握分支结构也就显得非常重要。记得把课程中的代码多敲几遍,熟能生巧。