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

查找数组中大于10的数字的Python算法返回错误结果,问题出在哪里?

错误原因
  • 函数返回值不对:你写的findLargestNumberinArray函数中,符合条件时返回的是下标i,不是下标对应的数组元素arr[i]。示例数组中第一个大于10的元素是27,对应下标为3,因此函数返回3。
  • 输出逻辑额外做了加1操作:你在打印时对返回的下标执行了result +1,3加1得到4,就是你现在看到的输出结果。
修复代码

如果你需要返回第一个大于10的元素值,可以修改为如下代码:

def findFirstNumberGreaterThan10(arr):
    for num in arr:
        if num > 10:
            return num
    return -1
    
arr = [1, 9, 3, 27, 0.5, 4, 16, 2]
result = findFirstNumberGreaterThan10(arr)
if result != -1:
    print("Number is : " + str(result))
else:
    print("No Number!")

运行后输出为:

Number is : 27

如果你需要找出所有大于10的元素并打印,可以修改为如下代码:

def findAllNumbersGreaterThan10(arr):
    res = []
    for num in arr:
        if num > 10:
            res.append(num)
    return res
    
arr = [1, 9, 3, 27, 0.5, 4, 16, 2]
result = findAllNumbersGreaterThan10(arr)
if result:
    print("Numbers are : " + str(result))
else:
    print("No Number!")

运行后输出为:

Numbers are : [27, 16]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:48:04