python рекурсивная функция дает false, если число не находится в центре переданного списка, надеюсь получить некоторые входные данные - PullRequest
0 голосов
/ 22 марта 2020

Лог c работает, если я добавлю return в условиях else и elseif. Параметрами функции являются отсортированный список, номер для поиска, начальный индекс и конечный индекс списка.

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
...