Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python递归函数give false如果数字不在列表的中心传递,希望得到一些输入_Python_Binary Search - Fatal编程技术网

python递归函数give false如果数字不在列表的中心传递,希望得到一些输入

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

如果我在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 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谢谢你的建议:)