def recherche(L, v):

    if(len(L) <= 0):
        return False

    a = 0
    b = len(L)
    m = b // 2

    if(L[m] == v):
        return True
    elif(L[m] > v):
        return recherche(L[0:m], v)
    elif(L[m] < v):
        return recherche(L[m+1:b], v)
    else:
        return False

if __name__=="__main__":
    assert recherche([1, 2, 3], 1)
    assert recherche([], 1) == False
    assert recherche([1], 1) == True
    assert recherche([1, 2, 3], 3) == True