-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
Warum funktioniert das nicht nur für bestimmte Werte in der Liste, ich versuche, ein binäres Suchprogramm zu erstellen.Warum funktioniert dieser Code abgesehen vom 1. 11. 13. 14.?
Was bedeutet nicht? Zeige ein Beispiel. –
gibt es den Fehler Traceback (zuletzt letzten Aufruf): Datei "C: \ Benutzer \ Downloads \ Binary Search.py", Zeile 20, in fund = int (list1 [int (cal)]) IndexError: Listenindex außerhalb des Bereichs –
Ich kann Ihre Gedanken nicht lesen. Bitte bearbeiten Sie Ihre Frage mit * allen * relevanten Informationen –