鱼C论坛

 找回密码
 立即注册
查看: 2683|回复: 2

[已解决]if+or多条件判断代码简化

[复制链接]
发表于 2022-10-9 20:36:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
未简化:
a = 2
b = 5
aa = []
bb = []

if a>3:
        print('a不满足 不加入列表')
        aa.append('xxx')
if b>2:
        print('b满足 加入列表')
        bb.append('xxx')

简化代码:

if a >3 or b>2:
        print('a不满足 不加入列表')
        aa.append('xxx')

        print('b满足 加入列表')
        bb.append('xxx')

判断 a 和 b 是通过满足哪个条件进入的 if 函数, 然后分别处理【满足条件】的a或b。有什么办法只通过一个IF语句就可以完成吗?
最佳答案
2022-10-9 20:58:27
本帖最后由 jackz007 于 2022-10-9 21:06 编辑

        本例 a 和 b 两个变量互不关联,各自单独判断,单独处置本身就是 "简化代码"。你后面的所谓 "简化代码" 有严重逻辑缺陷,按 "未简化" 代码,a 符合条件就处置 a,b 符合条件就处置 b,而所谓的 "简化代码" 的逻辑是,只要 a 和 b 中任何一个符合条件就同时处置 a 和 b,这显然不符合原始代码的逻辑。
        所以,本例的结论就是,可以改写,但是,无法简化。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-9 20:58:27 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-10-9 21:06 编辑

        本例 a 和 b 两个变量互不关联,各自单独判断,单独处置本身就是 "简化代码"。你后面的所谓 "简化代码" 有严重逻辑缺陷,按 "未简化" 代码,a 符合条件就处置 a,b 符合条件就处置 b,而所谓的 "简化代码" 的逻辑是,只要 a 和 b 中任何一个符合条件就同时处置 a 和 b,这显然不符合原始代码的逻辑。
        所以,本例的结论就是,可以改写,但是,无法简化。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-9 21:34:16 | 显示全部楼层
jackz007 发表于 2022-10-9 20:58
本例 a 和 b 两个变量互不关联,各自单独判断,单独处置本身就是 "简化代码"。你后面的所谓 "简化 ...

谢谢。我后面的简化代码 只是举的一个例子,目的是想让你们明白我的想法。我不知道怎么写。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 23:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表