python递归函数give false如果数字不在列表的中心传递,希望得到一些输入
如果我在else和elseif条件中添加return,则该逻辑将起作用。函数的参数是排序列表、要搜索的编号、列表的开始索引和结束索引python递归函数give false如果数字不在列表的中心传递,希望得到一些输入,python,binary-search,Python,Binary Search,如果我在else和elseif条件中添加return,则该逻辑将起作用。函数的参数是排序列表、要搜索的编号、列表的开始索引和结束索引 def binary_search_recursive(data, inpNum, low, high): mid = (low + high) // 2 if low == high: return inpNum == data[mid] if inpNum == data[mid]: return
def binary_search_recursive(data, inpNum, low, high):
mid = (low + high) // 2
if low == high:
return inpNum == data[mid]
if inpNum == data[mid]:
return True
elif inpNum < data[mid]:
binary_search_recursive(data, inpNum, low, mid - 1)
else:
binary_search_recursive(data, inpNum, mid + 1, high)
return False
def binary_search_recursive(数据、inpNum、低、高):
中=(低+高)//2
如果低==高:
返回inpNum==数据[mid]
如果inpNum==数据[mid]:
返回真值
elif inpNum
那么,问题到底是什么?可能是您需要额外的停止条件,如如果低>高:返回False
格式帮助]()。。。谢谢大家的投入,我想我已经得到了我最初问题的答案。else if应该有一个返回,因为值返回给调用函数的父级,这是一个非常愚蠢的问题:)@EduardoPascualAseff谢谢你的建议:)