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

Python函数has_33无返回值问题:判断列表是否存在相邻3

问题分析与修正

原函数存在两个核心问题:

  • 循环直接遍历列表元素,i+1被解析为当前元素值加1,而非列表的下一个元素,完全错误地理解了“相邻元素”的判断逻辑。
  • 遍历结束后未找到符合条件的相邻元素时,函数没有返回值(默认返回None),不符合需求中需返回布尔值的要求。

修正后的代码

def has_33(nums):
    # 遍历到倒数第二个元素即可,避免索引越界
    for i in range(len(nums) - 1):
        if nums[i] == 3 and nums[i+1] == 3:
            return True
    # 遍历完所有相邻对都没找到,返回False
    return False

# 测试示例
print(has_33([3, 3, 3]))  # 输出True

关键修正点

  • 使用range(len(nums)-1)获取索引,这样可以安全地访问nums[i]和nums[i+1],不会出现索引越界。
  • 明确判断当前索引对应的元素和下一个索引对应的元素是否都是3。
  • 遍历结束后添加return False,确保无论是否找到符合条件的元素,函数都返回布尔值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:18:12