python - 在列表中查找大于 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
解决方案
您返回索引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!")
推荐阅读
- perforce - 为什么 Perforce 填充命令很慢?
- azure-service-fabric - ImageStoreService IdleSecondary 副本
- node.js - nodejs Express 正则表达式路径:在测试中工作,而不是在代码中工作。我做错了什么?
- algorithm - 检测我的数字异常增长/下降的算法
- sql-server - 在第一个 SELECT 中分配的变量不会在第二个 SELECT 中检索
- android - 工具栏后退/主页按钮的 Xamarin 资源 ID 与 Resource.Id.home 不匹配
- javascript - Ember 项目中类的常规目录是什么?
- laravel - 获取数据集合 Laravel Eloquent 疑惑
- vue.js - 使用 Nightwatch 选择 Vue 组件?
- python - 在倾斜数据集的训练中使用 Precision 和 Recall