分支结构是程序选择判断,从而进行更复杂操做的基础结构。Python程序中的分支结构,主要有if语句创建。javascript
1.判断条件及组合
程序中的判断最多见的是使用操做关系符判断两个对象的关系,并据此获得True或者False的返回结果在决定分支方向。所以在学习if分支前,咱们须要先学习一下Python中的关系操做符。java
简单演示以下:python
>>> 1 > 2
False
>>> 1 < 2 True >>> 1 <= 2 True >>> 1 >= 2 False >>> 1 == 1 True >>> 1 != 1 False >>> 0 == False#0和False是等价的 True >>> 1 == True#任何非0和非空的类型都是True True >>> "1" < "2"#字符串的比较大小是按照ASCII码来比较的 True >>> "Python" < "python"#P的ASCII码比p的小 True >>> "1" == "1"#相同字符判断为True True
字符串是逐位比较,两个字符串第一位字符的ASCII码谁大,字符串就大,再也不比较后面的;第一个字符相同就比第二个字符串,以此类推,须要注意的是空格的ascii码是32,空(null)的ascii码是0。bash
Python使用not、and、or保留字对条件进行逻辑运算和组合。编辑器
not表示单个条件的否关系,即某个条件为True,则not True为False,反之亦然;and表示多个条件的与关系,即只有全部的条件都为True时,and所链接的整个表达式才为True,不然都为False;or表示多个条件的或关系,即只要有一个条件为True,则or所链接的整个表达式就是True。学习
演示以下:ui
>>> not 1
False
>>> False and True and True False >>> False or True or False True
2.单分支结构
用if保留字引导的语句创建。使用方法以下:spa
If :
程序根据判断表达式的结果,即True或是False,来决定语句块是否要执行。若是结果为True,则执行语句块,不然不执行。code
(程序演示较为复杂,均默认采用IDLE编辑器演示)orm
演示以下:
if 1:
print("第一条if语句被执行了")
if 0:
print("第二条if语句被执行了") #输出结果只有第一条if语句的语句块内容 第一条if语句被执行了
3.二分支结构
二分支结构是指两个分支一定执行其中一个,由保留字if和else创建。使用方法以下:
If :
else:
当判断表达式中的结果为True时,语句块1会被执行,语句块2不会被执行;当判断表达式中的结果为False时,语句块2会被执行,语句块1不会被执行。
演示以下:
a = eval(input("请输入0或者1:"))
if a:
print("第一条if语句被执行了") else: print("第二条if语句被执行了") #输入0时,输出结果为 请输入0或者1:0 第二条if语句被执行了 #输入1时,输出结果为 请输入0或者1:1 第一条if语句被执行了
二分支结构还有一种很是简洁的书写方式,适合语句块1和语句块2都是很是简单的表达式时使用,使用方法以下。
if else
演示以下:
a = eval(input("请输入一个数字:"))
take = "" if a%2 else "不" print("这个数字{}是一个奇数".format(take)) #输入1时 请输入一个数字:1 这个数字是一个奇数 #输入2时 请输入一个数字:2 这个数字不是一个奇数
4.多分支结构
在程序运行过程当中,可能并不仅有两种状况,所以单分支结构和二分支结构显得不够灵活。运用elif保留字便可应对程序中更加复杂的状况,使用方法以下:
if <>:
<>
elif <>:
<> … else: <>
其中,你能够添加任意数量的elif分支。演示代码以下:
a = eval(input("请输入成绩:"))
if a < 60:
print("对不起,你没有及格") elif a < 75: print("恭喜及格了,但只是及格") elif a < 90: print("厉害,达到良好水平") else: print("太棒了,你优秀!")
在多分支结构中,elif的数量由本身的实际须要增减。且对else没有强制要求,能够不写。当未写else时,多分支结构最后的执行参考单分支结构。