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
猜你喜欢
- 在 做一些天气预报或者RSS订阅的程序时,往往需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过http请求访问url地址,
- 1 写在前面1. 本文介绍的是基于TensorFlow tf.estimator接口的深度学习网络,而非TensorFlow&nb
- CSSer与其他IT职位一样,在找工作的时候,都会面临着面试官提出的问题,或者给出的试卷。一、超链接点击过后hover样式就不出现的问题?被
- 一、安装软件包并创建项目$sudo pip install django$sudo python -c "import djang
- 问题当浏览SQL Server 2008的新特性时,我们看到了透明数据加密。这看起来很有趣。您能为我们解释一下并介绍下执行它的细节吗?专家解
- 数组去重复和数组排序'数组名次 Function Sort(ary,stra) KeepChecking =&n
- 简单替代密码简单替换密码是最常用的密码,包括为每个密文文本字符替换每个纯文本字符的算法.在这个过程中,与凯撒密码算法相比,字母表是混乱的.示
- 命名一直是个让我头痛的问题,特别是那些看上去差不多的模块,所以就得想办法啦,我总结了下面的方法,虽然还在试验中。希望对大家有帮助。欢迎大家提
- 由于工作的需求,需要用python做一个类似网络爬虫的采集器。虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需
- JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,可替换XML成
- 1、环境PyCharmPython 3.6pip安装的依赖包包括:requests 2.25.0、urllib3 1.26.2、docx 0
- 本文以实例演示5种验证码,并介绍生成验证码的函数。PHP生成验证码的原理:通过GD库,生成一张带验证码的图片,并将验证码保存在Session
- 原文:http://research.microsoft.com/~helenw/papers/subspace.pdfwindow.nam
- <% set conn=server.createobject("adodb.connect
- 前言当我们运行测试函数时,我们希望确保测试函数在运行结束后,可以自己清理掉对环境的影响。这样的话,它们就不会干扰任何其他的测试函数,更不会日
- 我们给大家详细分析了一下在JS调试的时候经常用到的断点调试,并把经验和技巧做了总结,以下是全部内容:1.断点调试是啥?难不难?断点调试其实并
- QQ通过返回不同的图片,来表示在线或离线,图标也随之变换,既然图片不同,那么,返回的HTTP头信息中的Content-Length 也一定不
- 第一步:创建转向控制页面创建网站默认的首页文件(通常为"index.asp"或"default.asp&quo
- 只添加了一些自己想到的常用的功能,欢迎大家补充添加自己的好的思路. 通用的正则和方法可以写在RegExpObj中,
- 介绍我们可以通过控制HeaderStyle, RowStyle, AlternatingRowStyle和其他一些属性来改变GridView