论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
Python:条件分支 if 语句全讲解
Python:条件分支 if 语句全讲解
汕尾海湾
金牌会员
|
2024-10-10 15:12:33
|
显示全部楼层
|
阅读模式
楼主
主题
928
|
帖子
928
|
积分
2784
Python:条件分支 if 语句全讲解
如果我拿出下面的代码,阁下该做何应对?
if not reset_excuted and (terminated or truncated):
...
else:
...
复制代码
----
媒介:
消化论文代码的时间看到这个东西直接大脑冻结,没想过会在这么底子的东西上犯难
看完即便是冰之勇者也能学会 大概吧 本文初编辑于2024.10.10
CSDN主页:
https://blog.csdn.net/rvdgdsva
博客园主页:
https://www.cnblogs.com/hassle
目次
Python:条件分支 if 语句全讲解
媒介:
运算符优先级
优先级解析示例
示例 1: 使用括号
示例 2: 不使用括号
复杂示例
复杂if语句判断
分析条件
进入上面的分支的条件
进入下面的分支的条件
总结条件表
结论
多分支语句elif
德摩根定律
举例说明
示例 1:第一条定律
示例 2:第二条定律
运算符优先级
在 Python 中,布尔运算符的优先级从高到低的顺序如下:
括号 ()
:最高优先级,可以用于明确运算顺序。
not
:次高优先级。
and
:次低优先级。
or
:最低优先级。
优先级解析示例
示例 1: 使用括号
a = True
b = False
c = True
result = (a and not b) or c
复制代码
在这个例子中:
括号
首先被盘算:
a and not b 中 not b 盘算为 not False,结果为 True。
然后,True and True 盘算为 True。
末了,整体表达式变为 True or c,结果是 True。
示例 2: 不使用括号
x = False
y = True
z = False
result = x or y and not z
复制代码
在这个例子中:
优先级
按照 not > and > or:
not z 盘算为 not False,结果是 True。
然后表达式转为 x or y and True。
接着 y and True 盘算为 True。
终极盘算为 x or True,结果是 True。
复杂示例
p = True
q = False
r = False
result = not (p and q) or r
复制代码
在这个示例中:
括号
首先被盘算:
p and q 盘算为 True and False,结果是 False。
然后,not False 盘算为 True。
终极表达式变为 True or r,结果是 True。
复杂if语句判断
在表达式 if not a and b 中,not 只对 a 生效,不影响 b。
not 的优先级高于 and,这意味着它会先处置惩罚 a 的值。
首先盘算 not a,这将返回 a 的布尔值的相反值。
然后,使用 and 运算符将结果与 b 进行比较。
if not para_A and (para_B or para_C):
print("进入上面的分支")
else:
print("进入下面的分支")
复制代码
回到开头的示例,细细的捋一捋,在这段代码中:
在这里,not只对para_A生效,而不对(para_B or para_C)生效
要推算在什么情况下进入上面的分支或下面的分支,可以分析条件的每个部分。
分析条件
not para_A
:要求 para_A 为 False。
这意味着要进入上面的分支,para_A 必须是 False。
(para_B or para_C)
:要求 para_B 或 para_C 至少有一个为 True。
这意味着只要 para_B 为 True 或 para_C 为 True,这个部分就成立。
进入上面的分支的条件
整体条件为 not para_A and (para_B or para_C),因此要进入上面的分支,必须满足以下条件:
条件 1
:para_A 是 False。
条件 2
:para_B 是 True 或 para_C 是 True(至少有一个为 True)。
进入下面的分支的条件
为了进入下面的分支,条件需要不成立,即:
条件 A
:para_A 是 True。
这时 not para_A 为 False,条件就不成立。
条件 B
:para_A 是 False,但 para_B 和 para_C 都是 False。
这时 (para_B or para_C) 为 False,条件也不成立。
总结条件表
para_Apara_Bpara_C结果FalseTrueFalse进入上面的分支FalseFalseTrue进入上面的分支FalseTrueTrue进入上面的分支TrueFalseFalse进入下面的分支TrueTrueTrue进入下面的分支FalseFalseFalse进入下面的分支
结论
进入上面的分支
:当 para_A 为 False,且 para_B 或 para_C 至少有一个为 True。
进入下面的分支
:当 para_A 为 True 大概 para_A 为 False,但 para_B 和 para_C 都为 False。
多分支语句elif
都写那么多了,干脆再补点东西显得更完备吧
在 Python 中,elif 是 “else if” 的缩写,用于在 if 语句中进行多重条件判断。它允许你在第一个 if 条件为 False 的情况下继续检查其他条件,从而实现更多的分支逻辑。
if condition1:
# 当 condition1 为 True 时执行的代码
elif condition2:
# 当 condition1 为 False 且 condition2 为 True 时执行的代码
elif condition3:
# 当 condition1 和 condition2 都为 False 且 condition3 为 True 时执行的代码
else:
# 当上面的所有条件都为 False 时执行的代码
复制代码
德摩根定律
在j现实代码应用中,你根本用不上这个定律,上面的东西已经可以办理绝大部分标题了。但如果步调非要在if条件语句上向你发难,至少你也知道怎么应对
德摩根定律是布尔代数中的两个重要定律,它们提供了关于逻辑运算(与、或和非)之间关系的重要公式。这两个定律如下:
第一条定律
:
\[\text{not}(A\ or\ B) \equiv \text{not} A \ and\ \text{not} B\]
解释:否定 A 或 B 相称于 A 和 B 的否定相与。
第二条定律
:
\[\text{not}(A \ and\ B) \equiv \text{not} A \ or\ \text{not} B\]
解释:否定 A 且 B 相称于 A 的否定或 B 的否定。
举例说明
我们可以通过几个示例来明确这些定律:
示例 1:第一条定律
考虑 A = True 和 B = False:
盘算 not(A or B):
A or B 是 True
not(A or B) 是 False
盘算 not A and not B:
not A 是 False
not B 是 True
not A and not B 是 False
结果是一致的:not(A or B) = False 和 not A and not B = False。
示例 2:第二条定律
考虑 A = True 和 B = False:
盘算 not(A and B):
A and B 是 False
not(A and B) 是 True
盘算 not A or not B:
not A 是 False
not B 是 True
not A or not B 是 True
同样,结果是相等的:not(A and B) = True 和 not A or not B = True。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
汕尾海湾
金牌会员
这个人很懒什么都没写!
楼主热帖
RabbitMQ 进阶 -- 阿里云服务器部署Rab ...
Spark快速上手(3)Spark核心编程-RDD转 ...
在Ubuntu系统上安装StoneDB数据库 ...
基于FPGA的一维卷积神经网络CNN的实现 ...
一文了解袋鼠云在实时数据湖上的探索与 ...
Vue 全套教程(二),入门 Vue 必知必 ...
redis实现主从复制
用开源github,还是咱中国自己的代码托 ...
5分钟安装Kubernetes+带你轻松安装isti ...
专业的C头文件设计和重构指南 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表