热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python条件控制语句_条件控制语句

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

条件控制语句

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

1. 分支选择结构

1.1 功能与语法

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

图:条件选择结构

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

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

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

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

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

1.2 例子

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

在第 1 行,判断条件 2 > 1 是否成立

在第 2 行,因为条件成立,执行 print(‘2 > 1 is True’)

在第 3 行,因为条件不成立,不执行 print(‘2 > 1 is False’)

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

在第 1 行,判断条件 1 == 1 是否成立

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

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

2. 多分支选择结构

2.1 功能与语法

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

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

如果条件 1 为真,则执行代码块 1

如果条件 2 为真,则执行代码块 2

如果条件 3 为真,则执行代码块 3

如果以上条件都不满足,则执行代码块 4

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

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

2.2 例子

在第 1 行,将用户输入的字符串保存在变量 color 中

在第 2 行,执行条件判断:color 是否等于 ‘red’,如果成立则执行第 3 行对应的分支

在第 4 行,执行条件判断:color 是否等于 ‘green’,如果成立则执行第 5 行对应的分支

在第 6 行,执行条件判断:color 是否等于 ‘blue’,如果成立则执行第 7 行对应的分支

在第 8 行,如果以上条件判断都不成立,则执行第 9 行对应的分支

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

程序运行时,输入字符串 green

满足程序第 4 行的条件判断,输出结果为 color is green

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

程序运行时,输入字符串 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 如下:

在第 1 行,用户输入性别 sex

在第 2 行,用户输入年龄 age,注意:使用函数 int() 将用户输入的字符串转换为整数

在第 3 行,判断用户性别

如果为真则执行第 4 行的 if 语句

如果为假则执行第 9 行的 if 语句

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

首先,用户输入性别为 female

然后,用户输入年龄 20

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

执行第 12 行的语句

输出 young female

4. 小结

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



推荐阅读
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元࿰ ... [详细]
  • Python循环语句代码逐行详解:while、for、break和continue
    来源:大数据DT本文约3200字,建议阅读9分钟循环语句是指重复执行同一段代码块,通常用于遍历集合或者累加计算。Python中的循环语句有 ... [详细]
  • python中流程控制语句continue和else语句
    1、continue语句用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用2、图示:3、例子:要求输出1到50之间所有 ... [详细]
  • 一.运算符和分支结构1.数学运算符1.1(加),-(减),*(乘),(除),%(取余求模),(整除),**(幂运算)1.1.1,-,*,与数学中的,-,,,相同print( ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 卷积与自注意力的融合之Xvolution:OntheUnificationofConvolutionandSelfattention
    本文原始文档:https:www.yuque.comlartpaperszpdmekCSDN:https:blog.csdn.netP_LarTarticledetails1217 ... [详细]
  • 流程控制与Java基本类似,Kotlin提供了if和when两种分支语句,when可以替代 ... [详细]
  • 文章目录1.if结构1.1if单分支结构1.2if-else双分支结构1.3if-elseif-else多分支结构switch语句switch多分支结构1.if结构1.1if单分 ... [详细]
  • Linux运维之路002主机规划与磁盘划分
    Linux运维之路002---主机规划与磁盘划分,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
手机用户2602932565
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有