递归二进制搜索Python 3打印解决方案,但不';我不退 def二进制搜索(a、l、r、num): m=(l+r)//2 如果l

递归二进制搜索Python 3打印解决方案,但不';我不退 def二进制搜索(a、l、r、num): m=(l+r)//2 如果l,python,function,recursion,search,binary,Python,Function,Recursion,Search,Binary,递归二进制搜索Python 3打印解决方案,但不';我不退 def二进制搜索(a、l、r、num): m=(l+r)//2 如果l

递归二进制搜索Python 3打印解决方案,但不';我不退
def二进制搜索(a、l、r、num):
m=(l+r)//2
如果ldef binarySearch(a、l、r、num):
m=(l+r)//2
如果l
def binarySearch( a, l, r, num ):

    m = (l+r) // 2

    if l < r:

        if num <= a[m]:
            binarySearch(a, l, m, num)
        else:
            binarySearch(a, m+1, r, num)

    else:

        print( m )
def binarySearch( a, l, r, num ):

    m = (l+r) // 2

    if l < r:

        if num == a[m]:
            return m

        elif num < a[m]:
            return binarySearch(a, l, m, num)

        else:
            return binarySearch(a, m+1, r, num)
    else:
        return  -1

 # If return statement with the thing that need to be return is not mentioned explicitly  by default we get None 

'''
--tested using
for i in range(0,8):
    print('result for item', i ,binarySearch( [0,1,2,5,7], 0, 5,i )) 
'''