Python 分支结构详解
作者:史迪崽儿 发布时间:2021-03-17 01:43:06
一、分支结构
为了限定用户正规操作,也为了更好的控制程序的逻辑,必须在适当时引入条件结构。
Python 条件语句是通过一条或多条语句的执行结果(True
或者 False
)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
二、单分支结构
单分支结构逻辑是最简单的分支结构,语法格式如下:
if 条件表达式:
代码块
根据语法格式决定的执行流程:如果“if”关键词后棉的条件表达式成立,则执行与if有缩进结构的结构体代码段,反之条件表达式就不执行语法格式下的代码段。
三、双分支结构
双分支结构是在原来的单分支结构基础上,除条件为真时做一些事情外,条件为假时还需要继续去做一些事情的分支结构逻辑,其语法
结构如下:
if 条件表达式:
代码块1
else :
代码块2
执行流程为:如果条件表达式成立,则执行if块中的代码,否则执行else块中的代码。
四、多分支结构
多分支结构和双分支结构都是对一个条件作出的两种判断,若存在多个条件时,就需要多分支结构。
其语法结构如下:
if 条件表达式1 :
代码块1
elif 条件表达式2 :
代码块2
else :
代码块3
执行流程:如果表达式1为Ture则表明条件表达式1成立,执行if语句块的代码,执行完不再执行后面的elif中的代码块:如果if后面条件表达式1不成立即值为False,则判断条件表达式2是否成立;如果条件表达式2成立则执行代码块2,如果所有的if和elif都不成立,则执行else。
注意:
1、每个条件和else后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。
五、嵌套分支结构
在嵌套 if 语句中,可以把 if…elif…else
结构放在另外一个if…elif…else
结构中。
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
下面用经典的闯关游戏来说明嵌套结构。第一关问你一个问题,答对了,第一关闯关结束,100万元梦想基金拿到手。再答第二题,第二题回答正确,第二关闯关结束,1000万元梦想基金拿到手。再答第三题,第三题回答正确,第三关闯关结束,10000万元梦想基金拿到手。每一关回答正确后都可选择是否进入下一关,如果否,则得到这些梦想基金,如果是进入下一关,如果回答错误,梦想基金清零。
具体代码如下:
input("确定开始挑战吗?")
first = input("第一题:1+1=?")
if first == "2" :
ok = input("恭喜你答对了,你获得了100万的梦想基金,确定要继续吗?(y/n)")
if ok == "y" :
second = input("第二题:2+2=?")
if second == "4" :
ok1 = input("恭喜你答对了,你获得了1000万的梦想基金,确定要继续吗?(y/n)")
if ok1 == "y" :
third = input("第三题:3+3=?")
if third == "6" :
print("恭喜你答对了,你获得了10000万的梦想基金,游戏结束。")
else:print("游戏结束!你获得了0元梦想基金。")
else:print("游戏结束!你获得了1000万梦想基金。")
else:print("游戏结束!你获得了0元梦想基金。")
else: print("游戏结束!你获得了100万梦想基金。")
else: print("游戏结束!你获得了0元梦想基金。")
运行结果如下:
六、三元表达式
分支结构逻辑的常用的就是一种条件表达式来判断真假的双分支结构,其有一种简单的写法,叫做三元表达式,结构如下:
语句1 if 条件表达式 else 语句2
1
如果if后边的表达式成立,则执行语句1;如果if后面的条件表达式不成立,则执行语句2。
七、条件测试
每条if语句的核心都是一个值为Ture
或False
的表达式,这种表达式被称为条件测试,也可叫条件表达式。而分支逻辑结构可以说就是条件测试加上顺序结构的语句构成,条件测试的重要性也是不可忽视的。
常用的条件测试如下:
检查变量的值是不是等于某个值,==
检查是否相等时不考虑大小写,Python要区分大小写
检查是否不相等,!=
比较数字
来源:https://blog.csdn.net/abcdefghiloveyou/article/details/122454098


猜你喜欢
- php文件 <?php class xpathExtension{ public static function getNodes($
- 本文为大家分享了pygame游戏之旅的第11篇,供大家参考,具体内容如下定义一个button函数,将文字,颜色等作为参数。def butto
- 深度学习中对于网络的训练是参数更新的过程,需要注意一种情况就是输入数据未做归一化时,如果前向传播结果已经是[0,0,0,1,0,0,0,0]
- 通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。这里将介绍三
- 前言:大家跟我一起念,Python * 好,跟着本宝宝用Python抢火车票首先我们需要splinter安装:pip install spli
- scrapy.FormRequestlogin.pyclass LoginSpider(scrapy.Spider): name =
- 一、Spring Boot原理用户从页面前端,也就是我们所说的 view 层进行查询访问,进入到 controller 层找到对应的接口,接
- 参数strSQL 要导出的SQL查询语句strFields 字段名称列表,如果为空字符,则使用SQL语句中的字段名用法示例:1:export
- 多层索引的创建普通-多个index创建在创建数据的时候加入一个index列表,这个index列表里面是多个索引列表Series多层索引的创建
- 1、获取文件的创建、修改、访问时间# -*- encoding=utf-8 -*-import osimport timedef get_f
- 可能大家在日常工作中会遇到这么个问题,现在基本的linux系统都是自带老版本的python2.7.x版本,我又不想用老版本,但直接升级可能会
- 每次写完的东西就忘了,下次用时还要重查资料重新写,这是今天写的一段测试代码,保留下来,记录给自已,同时分享给大家。目标:把下边的这个上传文件
- 约定:import pandas as pdimport numpy as npfrom numpy import nan as NaN填充
- 1、首先,界面上有个按钮触发操作:<button type="button" class="layui-
- 一、什么是缓存击穿当一个key是热点key时,一般会做缓存来抗大量并发,但当缓存失效的一瞬间,这些大量的并发请求会击穿缓存,直接请求数据库为
- 一、闭包1. 什么是闭包?在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生 闭包。闭包可以用来在一个函
- 事务隔离级别设置set global transaction isolation level read committed; //全局的se
- 简单生成器有许多优点。生成器除了能够用更自然的方法表达一类问题的流程之外,还极大地改善了许多效率不足之处。在 Python 中,
- 出自:【孟宪会之精彩世界】 发布日期:2005年1月27日 8点48分0秒 [有删改] 由于某些原
- 前言因为之前一直忽略的就是所有语言中关于位操作,觉得用处并不多,可能用到也非常简单的用法,但是其实一直忽略的是它们的用处还是非常大的,下面先