Я новичок в python и пытаюсь изучить некоторые методы алгоритма.
Может кто-нибудь помочь мне понять, что я здесь делаю не так? Я получаю сообщение об ошибке
IndexError: индекс списка вне диапазона
это мой код
def binary_search(arr,item):
#keeping track of elements in array
low = 0
high = len(arr)
#mid section
while low <= high:
mid = (low + high)
guess = arr[mid]
if guess == item:
return mid
if guess > item:
high = mid - 1
else:
low = mid + 1
return None
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
print(binary_search(a, 3))