Binary Iterative
def binary_search(arr, val):
middle = len(arr) // 2
while arr[middle] != val:
if len(arr) > 1:
if arr[middle] < val:
arr = arr[middle + 1:] # X
else:
arr = arr[:middle]
else:
if arr[middle] != val:
return False
middle = len(arr) // 2
return True
print(binary_search([0, 2, 3, 4, 5, 6], 7))
# output
IndexError: list index out of range