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

Python函数any_one_is_sum始终返回True无法返回False的问题排查

问题分析与解决

你的代码之所以永远返回True,核心问题在于那三个嵌套的if判断全是恒成立的无效判断:

  • 你定义sum_c = a + b,然后判断sum_c == a + b,这等价于判断a + b == a + b,不管a、b是什么值,这个条件永远为True
  • 同理,sum_b = a + c后判断sum_b == c + a,sum_a = b + c后判断sum_a == b + c,这两个条件也永远是True

所以不管输入什么三个数,这三层嵌套的if都会全部满足,直接执行return True,永远走不到else分支返回False。

你真正需要做的,是判断是否存在某一个数等于另外两个数的和,正确的写法应该直接针对这个逻辑:

def any_one_is_sum(a,b,c):
    # 判断c是否是a+b,或b是否是a+c,或a是否是b+c
    return c == a + b or b == a + c or a == b + c

如果想要展开写得更清晰,也可以这样:

def any_one_is_sum(a,b,c):
    if c == a + b or b == a + c or a == b + c:
        return True
    else:
        return False

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:40:39