-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
なぜ、これがリストの特定の値に対してのみ機能しないのですが、バイナリ検索プログラムを作成しようとしています。なぜこのコードは第11回第13回第14回から離れて動作しますか?
どういう動作しませんか?例を示します。 –
エラーがあります トレースバック(最新のコール最後): ファイル "C:\ Users \ User \ Download \ Binary Search.py"、行20、 ファンド= int(list1 [int(cal)]) IndexError:リストのインデックスが範囲外になっています –
私はあなたの心を読むことができません。 *すべての関連情報を使用して質問を編集してください –