如何修改条件判断逻辑以切换对应输出返回值
条件逻辑错误修正
- 你修改后的条件
(parent.right != None or parent.right != n)存在固有逻辑漏洞:该条件的判断结果永远为真,完全达不到你想要的分支效果,具体原因:- 当
parent.right为None时,parent.right != n成立,OR运算整体返回真 - 当
parent.right等于n时,parent.right != None成立,OR运算整体返回真 - 当
parent.right既不是None也不等于n时,两个判断都成立,OR运算仍返回真
- 当
- 如果你要实现「当
parent.right不为None且不等于n时返回None,其余情况返回parent」的需求,和你给出的参考代码逻辑完全一致,直接沿用即可:
if (parent.right == None or parent.right == n): return parent else: return None
- 如果你坚持要反向写判断逻辑,满足条件时先返回None,需要把逻辑运算符
or替换为and,正确写法如下:
if (parent.right != None and parent.right != n): return None else: return parent
内容的提问来源于stack exchange,提问作者KMP
相关产品推荐
相关产品推荐

