首页 > 解决方案 > 在列表中查找大于 10 的数字的算法不会返回正确答案

问题描述

我想编写一个算法来查看数组中大于 10 的数字并将其打印出来,但不是显示 27,而是显示 4。

我做错了什么?

我的代码如下所示:

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

这是输出:

Number is : 4

标签: pythonlistindexing

解决方案


您返回索引i而不是返回列表中的值,arr[i].

尝试这个:

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

推荐阅读