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

Python实现无循环判断两数是否相邻(差值为±1)的简洁方法

简洁实现“接近”判断的Python方案

嘿,这个问题我太懂了!你现在写的多条件判断确实有点冗余,咱们可以用更清爽的方式实现,而且完全不需要循环,代码简洁又好读。

方法一:利用绝对值差值(最推荐)

核心思路是计算两个数的差值的绝对值,只要这个值≤1,就完美覆盖你原来的条件(相等、差1或-1):

if abs(num1 - num2) <= 1:
    # 这里写你的业务逻辑

如果你的“接近”严格定义为差值是1或-1(不包含相等),那只要把条件改成:

if abs(num1 - num2) == 1:

这个写法逻辑直观,代码极短,可读性拉满,而且性能最优,不用额外创建任何数据结构。

方法二:集合成员判断(另一种风格)

如果你更喜欢用集合来表达“符合条件的取值范围”,也可以这么写:

if num1 in {num2 - 1, num2, num2 + 1}:
    # 这里写你的业务逻辑

这种写法把num1可能符合要求的所有值放到一个集合里,通过成员判断来确认是否满足条件,可读性也不错,不过相比绝对值的方法,会额外创建一个临时集合,性能差异可以忽略,但绝对值写法更简洁。

测试示例

举几个例子验证效果:

  • 当num1=5,num2=6 → abs(5-6)=1 → 返回True
  • 当num1=3,num2=3 → abs(0)=0 → 返回True
  • 当num1=10,num2=8 → abs(2)=2 → 返回False

完全覆盖你原来的冗长条件,代码却清爽太多啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:00:23