Тест не пройден для диапазона пропусков - PullRequest
0 голосов
/ 29 января 2020

Возникли проблемы с неудачным тестом - ошибка «список пропусков (диапазон (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 ")
...