-1
print('This is a binary search!')
list1 = [1,3,6,9,12,23,67,68,69,71,74,86,95,100]
find = int(input('Which item would you like to find?'))
found = 0
def half(value):
if value % 2 == 1:
value = (float(value)/2) + 0.5
return int(value)
else:
return int(value/2)
length = len(list1)
cal = half(length)
pal = 0
while found == 0:
fund = int(list1[int(cal)])
if int(fund) == find:
print(str(cal + 1) + ' is the reference!')
found = 1
if fund > find:
cal = half(cal)
if fund < find:
cal = half(cal) + cal
Почему это не работает только для определенных значений в списке, я пытаюсь создать двоичную программу поиска.Почему этот код работает отдельно от 1-го 11-го 13-го 14-го?
Что не работает в виду? Покажите пример. –
есть ошибка Traceback (последний последний звонок): Файл «C: \ Users \ User \ Downloads \ Binary Search.py», строка 20, в fund = int (list1 [int (cal)]) IndexError: список указателей за пределами допустимого диапазона –
Я не могу читать ваши мысли. Пожалуйста, отредактируйте свой вопрос с * всей * соответствующей информацией –