You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写两组条件均不满足时触发警告的条件判断逻辑?

正确的条件判断写法

你的代码逻辑错误是因为Python的逻辑运算符优先级问题:not的优先级比and和or更高,原代码被解析成了(not (a == 1)) and b == 1 or a == 2 and b == 2,完全不符合你“两组条件都不满足才触发警告”的需求。

推荐两种正确的写法:

写法一:明确分组后取反

用括号把两个允许的条件组括起来,整体取反,逻辑清晰直观:

if not ((a == 1 and b == 1) or (a == 2 and b == 2)):
    # 这里写触发警告的代码

写法二:元组匹配(更简洁)

把a和b组成元组,判断它不在允许的元组集合里,代码更简洁易读:

if (a, b) not in {(1, 1), (2, 2)}:
    # 这里写触发警告的代码

这两种写法都能实现需求:只要(a=1且b=1)或者(a=2且b=2)任意一组满足,就不触发警告;只有两组都不满足时,才执行警告逻辑。

内容的提问来源于stack exchange,提问作者JJH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:27:51