gpt4 book ai didi

python - 我必须递归检查集合Python3.0中是否存在该值

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:29 26 4
gpt4 key购买 nike

我编写了下面的代码来检查给定集合中是否存在给定值。由于某种原因,我总是得到“错误”;为什么会发生这种情况?我该如何纠正?

def binary_search(value, collection):
if (len(collection) == 0):
return 0
checkedValue = binary_search(value, collection[1:])
return 1 if value == checkedValue else 0

print(binary_search(4, [2, 3, 6, 100]))
print(binary_search(4, [4, 6, 100]))
print(binary_search(4, []))

最佳答案

您正在根据搜索的返回值检查所需的值。在给定的情况下,您将 410 进行检查,后者的计算结果始终为 False

另外,请注意,您从不检查列表中的第一个值:您会立即将其删除并在剩余列表中重复出现。您无法识别该值。

def binary_search(value, collection):

if (len(collection) == 0):
return False

return True if value == collection[0] \
else binary_search(value, collection[1:])

结果:

False
True
False

关于python - 我必须递归检查集合Python3.0中是否存在该值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53326130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com