python二分支结构紧凑形式_【Python】Python程序分支结构(if, elif , else ,and , or , not 的使用)...

本文详细介绍了Python的分支结构,包括单分支结构、二分支结构(if-else语句及其紧凑形式)、多分支结构(if-elif-else)以及条件判断的组合。通过示例代码展示了如何使用关系操作符、逻辑运算符(and, or, not)进行条件判断,并提供了变量取值范围覆盖的注意事项。" 98727312,8300,微服务中的CDC实践与应用,"['微服务', '数据同步', '事件驱动', '数据库', '架构设计']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序的分支结构

1. 单分支结构

1.1语法格式:

if :

语句块是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("猜对了")

结果为:

参考文章:https://blog.csdn.net/weixin_40041218/article/details/80868521

--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,空列表[],空字典{},空元组()时对判断有没有影响。

参考文章:https://www.cnblogs.com/devops-qxw/p/9641316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值