分支结构是程序选择判断,从而进行更复杂操作的基础结构。Python程序中的分支结构,主要有if语句建立。
1.判断条件及组合
程序中的判断最常见的是使用操作关系符判断两个对象的关系,并据此得到True或者False的返回结果在决定分支方向。因此在学习if分支前,我们需要先学习一下Python中的关系操作符。
![40f8a1d4fd2f79f29175bc7e487a8d9d.png](https://img8.php1.cn/3cdc5/15297/882/c408150bd05fc40f.png)
简单演示如下&#xff1a;>>> 1 > 2False>>> 1 >> 1 <&#61; 2True>>> 1 >&#61; 2False>>> 1 &#61;&#61; 1True>>> 1 !&#61; 1False>>> 0 &#61;&#61; False#0和False是等价的True>>> 1 &#61;&#61; True#任何非0和非空的类型都是TrueTrue>>> "1" >> "Python" >> "1" &#61;&#61; "1"#相同字符判断为TrueTrue
字符串是逐位比较&#xff0c;两个字符串第一位字符的ASCII码谁大&#xff0c;字符串就大&#xff0c;不再比较后面的&#xff1b;第一个字符相同就比第二个字符串&#xff0c;以此类推&#xff0c;需要注意的是空格的ascii码是32&#xff0c;空(null)的ascii码是0。
Python使用not、and、or保留字对条件进行逻辑运算和组合。
not表示单个条件的否关系&#xff0c;即某个条件为True&#xff0c;则not True为False&#xff0c;反之亦然&#xff1b;and表示多个条件的与关系&#xff0c;即只有所有的条件都为True时&#xff0c;and所连接的整个表达式才为True&#xff0c;否则都为False&#xff1b;or表示多个条件的或关系&#xff0c;即只要有一个条件为True&#xff0c;则or所连接的整个表达式就是True。
演示如下&#xff1a;>>> not 1False>>> False and True and TrueFalse>>> False or True or FalseTrue
2.单分支结构
用if保留字引导的语句建立。使用方法如下&#xff1a;If &#xff1a;
程序根据判断表达式的结果&#xff0c;即True或是False&#xff0c;来决定语句块是否要执行。如果结果为True&#xff0c;则执行语句块&#xff0c;否则不执行。
(程序演示较为复杂&#xff0c;均默认采用IDLE编辑器演示)
演示如下&#xff1a;if 1: print("第一条if语句被执行了")if 0: print("第二条if语句被执行了")#输出结果只有第一条if语句的语句块内容
第一条if语句被执行了
3.二分支结构
二分支结构是指两个分支必定执行其中一个&#xff0c;由保留字if和else建立。使用方法如下&#xff1a;If &#xff1a;
else:
当判断表达式中的结果为True时&#xff0c;语句块1会被执行&#xff0c;语句块2不会被执行&#xff1b;当判断表达式中的结果为False时&#xff0c;语句块2会被执行&#xff0c;语句块1不会被执行。
演示如下&#xff1a;a &#61; eval(input("请输入0或者1&#xff1a;"))if a: print("第一条if语句被执行了")else: print("第二条if语句被执行了")#输入0时&#xff0c;输出结果为
请输入0或者1&#xff1a;0
第二条if语句被执行了#输入1时&#xff0c;输出结果为
请输入0或者1&#xff1a;1
第一条if语句被执行了
二分支结构还有一种非常简洁的书写方式&#xff0c;适合语句块1和语句块2都是非常简单的表达式时使用&#xff0c;使用方法如下。 if else
演示如下&#xff1a;a &#61; eval(input("请输入一个数字&#xff1a;"))
take &#61; "" if a%2 else "不"print("这个数字{}是一个奇数".format(take))#输入1时
请输入一个数字&#xff1a;1
这个数字是一个奇数#输入2时
请输入一个数字&#xff1a;2
这个数字不是一个奇数
4.多分支结构
在程序运行过程中&#xff0c;可能并不只有两种情况&#xff0c;因此单分支结构和二分支结构显得不够灵活。运用elif保留字即可应对程序中更加复杂的情况&#xff0c;使用方法如下&#xff1a;if <>: <>
elif <>: <>
…
else: <>
其中&#xff0c;你可以添加任意数量的elif分支。演示代码如下&#xff1a;a &#61; eval(input("请输入成绩&#xff1a;"))if a
在多分支结构中&#xff0c;elif的数量由自己的实际需要增减。且对else没有强制要求&#xff0c;可以不写。当未写else时&#xff0c;多分支结构最后的执行参考单分支结构。