Python中的条件控制语句详解

 更新时间:2025年04月27日 09:46:04   作者:数据蜂窝  
这篇文章主要介绍了Python中的条件控制语句,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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

我们一起来看下:

1. 分支选择结构

1.1 功能与语法

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

图:条件选择结构

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

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

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

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

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

if 条件:
    条件为真的分支

1.2 例子

例子 1,编写程序如下:

实例演示

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’)

程序 的输出结果为:

2 > 1 is true

例子 2,编写程序 如下:

实例演示

if 1 == 1:
    print('1 == 1 is true')
  • 1
  • 2

点击 "运行案例" 可查看在线运行效果

  • 在第 1 行,判断条件 1 == 1 是否成立
  • 在第 2 行,因为条件成立,执行 print(‘1 == 1 is True’)

程序 的输出结果为:

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 例子

编写程序 如下:

实例演示

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 行对应的分支

运行程序,结果如下:

C:\> python select.py
green
color is green

  • 程序运行时,输入字符串 green
  • 满足程序第 4 行的条件判断,输出结果为 color is green

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

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 例子

编写程序 如下:

实例演示

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 语句

运行程序 ,结果如下:

C:\> python nest.py
female
20
young female

首先,用户输入性别为 female

然后,用户输入年龄 20

经过第 3 行的条件判断 sex == male 和 第 9 行的条件判断 age > 50

  • 执行第 12 行的语句
  • 输出 young female

总结

分支结构在工作中可谓是基本每天都会写,所以掌握分支结构也就显得非常重要。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 10个常用python自动化脚本

    10个常用python自动化脚本

    本文主要介绍了10个常用python自动化脚本,这些脚本可以帮助自动化完成任务,提高工作效率,文中通过示例代码介绍的非常详细,感兴趣的可以了解下
    2024-01-01
  • Python并发编程队列与多线程最快发送http请求方式

    Python并发编程队列与多线程最快发送http请求方式

    假如有一个文件,里面有10万个url,需要对每个url发送http请求,并打印请求结果的状态码,如何编写代码尽可能快的完成这些任务呢
    2021-09-09
  • python飞机大战游戏实例讲解

    python飞机大战游戏实例讲解

    在本篇文章里小编给大家整理的是一篇关于python飞机大战游戏实例讲解,有兴趣的朋友们可以参考下。
    2020-12-12
  • Python Celery多队列配置代码实例

    Python Celery多队列配置代码实例

    这篇文章主要介绍了Python Celery多队列配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 利用pyinstaller或virtualenv将python程序打包详解

    利用pyinstaller或virtualenv将python程序打包详解

    这篇文章主要给大家介绍了利用pyinstaller将python程序打包的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • Python语法学习之进程的创建与常用方法详解

    Python语法学习之进程的创建与常用方法详解

    本文我们将学习一下在 Python 中去创建并使用多进程的方法,可以通过创建多个进程来帮助我们提高脚本执行的效率,感兴趣的可以了解一下
    2022-04-04
  • Python生成密码库功能示例

    Python生成密码库功能示例

    这篇文章主要介绍了Python生成密码库功能,涉及Python基于随机字符串实现的生成密码功能相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • Pytorch十九种损失函数的使用详解

    Pytorch十九种损失函数的使用详解

    这篇文章主要介绍了Pytorch十九种损失函数的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 对python中的 os.mkdir和os.mkdirs详解

    对python中的 os.mkdir和os.mkdirs详解

    今天小编就为大家分享一篇对python中的 os.mkdir和os.mkdirs详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 如何使用Pytorch搭建模型

    如何使用Pytorch搭建模型

    本来是只用Tenorflow的,但是因为TF有些Numpy特性并不支持,比如对数组使用列表进行切片,所以只能转战Pytorch了(pytorch是支持的)。还好Pytorch比较容易上手,几乎完美复制了Numpy的特性(但还有一些特性不支持),怪不得热度上升得这么快。
    2020-10-10

最新评论