Вы можете улучшить свой алгоритм, как предлагали другие, но давайте сначала посмотрим, почему он не работает:
Вы застреваете в цикле, потому что, если needle_element > array[mid]
, вы включаете элемент mid
в двухполюсном массиве, который вы ищете в следующем. Поэтому, если игла не находится в массиве, вы в конечном итоге будете искать массив длиной один навсегда. Pass array[mid+1:]
вместо этого (это законно, даже если mid+1
не является допустимым индексом), и вы в конечном итоге вызовете свою функцию с массивом нулевой длины. Таким образом, len(array) == 0
означает «не найден», а не ошибка. Обращайтесь с ним соответствующим образом.
В vue cli-3 Вы может определить переменную в main.js как
window.basurl = "http://localhost:8000/";
И можно также получить доступ к этой переменной в любом компоненте при помощи window.basurl