我不是第一个 发表于 2022-10-9 20:36:09

if+or多条件判断代码简化

未简化:
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语句就可以完成吗?

jackz007 发表于 2022-10-9 20:58:27

本帖最后由 jackz007 于 2022-10-9 21:06 编辑

      本例 a 和 b 两个变量互不关联,各自单独判断,单独处置本身就是 "简化代码"。你后面的所谓 "简化代码" 有严重逻辑缺陷,按 "未简化" 代码,a 符合条件就处置 a,b 符合条件就处置 b,而所谓的 "简化代码" 的逻辑是,只要 a 和 b 中任何一个符合条件就同时处置 a 和 b,这显然不符合原始代码的逻辑。
      所以,本例的结论就是,可以改写,但是,无法简化。

我不是第一个 发表于 2022-10-9 21:34:16

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

谢谢。我后面的简化代码 只是举的一个例子,目的是想让你们明白我的想法。我不知道怎么写。
页: [1]
查看完整版本: if+or多条件判断代码简化