Я новичок в программировании.Я написал бинарный поиск рекурсивной функции.Когда я запускаю программу, используя отладку, я получаю правильный вывод, но когда отладка выключена, я получаю правильный ответ вместе с этой ошибкой:
Exception in thread ptvsd. stopping
(скорее всего, возникает при выключении интерпретатора) для некоторых параметров (когда x = 8 я получаю эту ошибку, но когда x = 2, я не получаю ошибку).Я не могу понять, почему я получаю эту ошибку.
def binary_search_recursive(A, x, low=0, high=None):
if high is None:
high = len(A) - 1
if x == A[low]: return low
if x == A[high]: return high
if low == high: return -1
middle = low + (high - low) / 2
if x == A[middle]:
return middle;
elif x < A[middle]:
return binary_search_recursive(A, x, low, middle-1)
elif x > A[middle]:
return binary_search_recursive(A, x, middle+1, high)
print(binary_search_recursive((2,4,5,6,7,8,10),8))
Для отладки я просто ставлю точку останова в своем операторе печати с использованием кода VS перед запуском кода.