Возникли проблемы с неудачным тестом - ошибка «список пропусков (диапазон (10))», поиск по 5 Цель в индексе: 5 Тест не пройден: 5! = Нет »
Направления следующим образом: «Напишите двоичную функцию поиска, которая вместо возврата -1, если целевого значения нет в списке, вызывает исключение TargetNotFound (вам необходимо определить этот класс исключений). В противном случае оно должно функционировать нормально. Назовите это function bin_except. "
Ниже приведен мой код - какие-либо рекомендации о том, как это исправить?
class TargetNotFound(Exception):
pass
def bin_except(a_list, value):
first = 0
last = len(a_list) - 1
found = False
index = -1
while first <= last and not found:
middle = (first + last) // 2
if a_list[middle] == value:
found = True
index = middle
else:
if value < a_list[middle]:
last = middle - 1
else:
first = middle + 1
try:
if not found:
raise TargetNotFound
else:
print("Target is in index: ", index)
except TargetNotFound:
print("Target is not in array ")