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

如何对这段Python代码执行正确的布尔迭代测试,遍历列表返回布尔值

修复后的代码及解释

原代码存在语法和逻辑错误,以下是修正后的实现:

问题分析

  • 函数参数numbers未被使用,循环错误引用了未定义的y
  • 条件判断写法错误,正确逻辑应为left < 当前元素 > right
  • 错误地将全局列表x转为布尔值,应判断当前元素是否满足条件
  • 语法错误:else块的print缺少闭合括号

正确实现

方式1:逐个打印每个元素的布尔结果

x = [7,2,9,10,23,5]
left = 3
right = 8

def solution(numbers, left, right):
    for num in numbers:
        # 检查当前元素是否满足 left < num > right
        result = left < num > right
        print(result)

# 调用函数,传入目标列表
solution(x, left, right)

运行输出:

False
False
True
True
True
False

方式2:返回布尔值列表(更贴合“返回布尔值”的需求)

x = [7,2,9,10,23,5]
left = 3
right = 8

def solution(numbers, left, right):
    # 用列表推导式生成布尔结果列表
    return [left < num > right for num in numbers]

# 获取结果并打印
result_list = solution(x, left, right)
print(result_list)

运行输出:

[False, False, True, True, True, False]

关键说明

  • left < num > right是Python链式比较语法,等价于left < num and num > right,写法更简洁
  • 列表推导式是Python中生成结果列表的高效方式,适合这种逐个元素判断的场景
  • 函数通过参数接收列表,避免依赖全局变量,代码更健壮

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:50:40