python⼆分⽀结构紧凑形式_【Python】Python程序分⽀结构
(if,elif,。。。
程序的分⽀结构
1. 单分⽀结构
1.1语法格式:
if :eval是做什么的
语句块是if条件满⾜后执⾏的⼀个或多个语句序列
语句块中语句通过与if所在⾏形成缩进表达包含关系
if语句⾸先评估的结果值,如果结果为True,则执⾏语句块⾥的语句序列,然后控制转向程序的下⼀条语句。如果结果为False,语句块⾥的语句会被跳过。
1.2 if语句块中语句块执⾏与否依赖于条件判断,但⽆论什么情况,控制都会转到if语句后与该语句同级别的下⼀条语句;
if语句的控制流程图:
if语句中部分可以使⽤任何能够产⽣True或False的语句
形成判断条件最常见的⽅式是采⽤关系操作符数学符号
num = eval(input("请输⼊数字:"))
if num<20:
print("这个数⽐较⼩!")
if 20<=num<40:
print("这个数⽐较⼤!")
if 40<=num:
print("这个数很⼤!")
2. ⼆分⽀语句
2.1 python中if-else语句⽤来形成⼆分⽀语句,语法格式如下:
if ;
else:
是在if条件满⾜后执⾏的⼀个或多个语句序列
是if条件不满⾜后执⾏的语句序列
⼆分⽀语句⽤于区分的两种可能True或者False,分别形成执⾏路径
num = eval(input("请输⼊数字:"))
if num<20:
print("这个数⽐较⼩!")
else:
print("这个数很⼤!")
2.2 ⼆分⽀结构还有⼀种更简洁的表达⽅式,适合判断返回特定值,语法格式如下:
if else
例如:
num = eval(input("请输⼊数字:"))
print("这个数{}了".format("⼩" if num<20 else "⼤"))
这种紧凑形式,适⽤于简单表达式的⼆分⽀语句
3. 多分⽀结构
3.1 语法格式
if :
elif :
...
else:
多分⽀结构是⼆分⽀结构的扩展,这种形式通常⽤于设置同⼀个判断条件的多条执⾏径。
Python依次评估寻第⼀个结果为True的条件,执⾏该条件下的语句块,同时结束后跳整个if-elif-else结构,执⾏后⾯的语句。如果没有任何条件成⽴,else下⾯的语句块被执⾏。else⼦句是可选的
num = eval(input("请输⼊数字:"))
if num<20:
print("这个数⽐较⼩!")
elif if 20<=num<40:
print("这个数⽐较⼤!")
else:
print("这个数很⼤!")
注意多条件之间的包含关系,注意变量取值范围的覆盖
4.条件判断及组合
4.1 条件判断(关系操作符)
操作符
数学符号
操作符含义
⼩于
<=
≤
⼩于等于
>=
≥
>
>
⼤于
==
=
等于
!=
不等于
(注:在python的if语中可以使⽤连续的关系符号⽽不⽤进⾏拆分,例如:if 0<=a<30) 4.2 条件组合:⽤于条件组合的三个保留字(and,or,and)
and的优先级要⼤于or
---and和or⽤法:
在python中,and、or⽤法和逻辑与(&)、或(|)⽤法有⼀定的区别:
基本格式为:
a & b
a | b
a and b
a or b
如果a,b是数值变量,则&,|表⽰位运算,and,or则是依据是否⾮0来决定输出;
& ,|
# 1&2,2在⼆进制⾥⾯是10,1在⼆进制中是01,那么01与运算10得到是0
1 &
2 # 输出为 0,
1 |
2 # 输出为3
and,or
# 判断变量是否为0, 是0则为False,⾮0判断为True,
# and中含0,返回0; 均为⾮0时,返回后⼀个值,
2 and 0 # 返回0
2 and 1 # 返回1
1 and
2 # 返回2
# or中, ⾄少有⼀个⾮0时,返回第⼀个⾮0,
2 or 0 # 返回2
2 or 1 # 返回2
0 or 1 # 返回1
print (1 & 2)
print ("-----------")
print (1 | 2)
print ("-----------")
print (2 and 0)
print (0 and 2)
print (2 and 1)
print (1 and 2)
print ("-----------")
print (2 or 0)
print (0 or 2)
print (2 or 1)
print (1 or 2)
print (0 or 0)
结果:
如果a,b是逻辑变量,则两类的⽤法基本⼀致In[103]:(3>0) | (3<1)
Out[103]: True
In[104]:(3>0) and (3<1)
Out[104]: False
In[105]:(3>0) or (3<1)
Out[105]: True
In[106]:(3>0) & (3<1)
Out[106]: False
举例:
guess = eval(input())
if guess >99 or guess <99:
print("猜错了")
else :
print("猜对了")
结果为:
--not的⽤法
not x:条件x的逻辑⾮
(1)not与逻辑判断句if连⽤,代表not后⾯的表达式为False的时候,执⾏冒号后⾯的语句
注意:Python中关键字False和True⾸字母要⼤写
a = False
if not a:
print("执⾏语句块1")
else :
print("执⾏语句块2")
(2)判断元素是否再列表或者字典中,if a not in b ,a是元素,b是列表或者字典,意思是如果a不在b中,就执⾏冒号后⾯的语句
a = 5
b = [1,2,3]
if a not in b:
print ("hello")
else:
print("你好")
not x 意思相当于 if not false, then True, else False
代码中经常会有变量是否为None 的判断,有三种写法:
第⼀种是 if x is None ;
第⼆种是 if not x: ;
第三种是 if not x is None (可以理解为:if not (x is None))
建议第三种写法,清晰,不会出现错误;
使⽤if not x这种写法的前提是:必须清楚x等于None,False,空字符串“”,0,空列表[],空字典{},空元组()时对判断有没有影响。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论