İstediğinizi pek anlayamadım. Biraz daha açıklamaya çalışır mısınız?
Şöyle bir şey mi istiyorsunuz?
[CODE lang="python" highlight="1, 15, 19-21"]def binary_search(arr, x): # binary_search adında bir fonksiyon tanımlıyoruz, parametre olarak bir dizi (arr) ve aranacak değer (x) alıyor.
low = 0 # Listenin başlangıç girdisi bu.
high = len(arr) - 1 # Bu da, listenin son girdisi.
while low <= high: # Girdiler arasında döngü başlatıyoruz, arama aralığı daraltıldıkça devam edecek.
mid = (low + high) // 2 # Arama aralığını ortadan ikiye bölüyoruz.
if arr[mid] == x: # Orta eleman hedef değere eşitse, aranan değeri bulduk, orta elemanın indisini döndürüyoruz.
return mid
elif arr[mid] < x: # Orta eleman hedef değerden küçükse, arama aralığını sağ tarafa kaydırıyoruz.
low = mid + 1
else: # Orta eleman hedef değerden büyükse, arama aralığını sol tarafa kaydırıyoruz.
high = mid - 1
return -1 # Değer bulunamadıysa -1 döndürüyoruz.
# Kullanım örneği de bu şekilde oluyor.
arr = [3, 24, 25, 34, 41, 44, 53, 67] # Kendine göre gir listeyi.
x = int(input("Aranan değeri girin: ")) # Burada, aranmasını istediğin değeri gireceksin.
result = binary_search(arr, x) # Arama fonksiyonuyla aramayı yapıyor.
if result != -1: # Girdiğin değeri var mı, yok mu diye kontrol ediyor.
print("Değer", result, "konumunda bulundu.")
else:
print("Değer bulunamadı.")
[/CODE]