бинарный поиск python

не могу понять формула max кол-ва шагов БП log2(n) почему у меня при n = 8 происходит 4 итерации например при поиске числа "7" в массиве a = [0,1,2,3,4,5,6,7]

def binary_search(arg,list):

    list.sort()
    low = 0
    high = len(list) - 1 

    while True:
        if (arg > list[high]) or (arg < list[low]): 
            print("такого значения нет") 
            break
        mid = int((low + high)/2)
        guess = list[mid]
        print('high', high, 'low', low, 'mid', mid, 'guess', guess, 'arg', arg)
        if arg < guess:
            high = mid - 1
        elif arg > guess:
            low = mid + 1
        elif (arg == guess):
            print(mid)
            break

Ответы (0 шт):