I always get the output None instead of False
My code:
def bi_search(elements: list, x) -> bool:
    i = len(elements)/2-1
    i = int(i)
    print(i)
    if i == 0:
        return False
    elif x == elements[i]:
        return True
    elif x < elements[i]:
        e = elements[0:i + 1]
        bi_search(e, x)
    elif x > elements[i]:
        e = elements[i+1:len(elements)]
        bi_search(e, x)
commands:
my_list = [1, 2, 5, 7, 8, 10, 20, 30, 41, 100]
print(bi_search(my_list, 21))
Output:
4
1
0
None
I don't get it, it even says that is i = 0 right before the statement, so why do I not get False as a result?
 
     
    