CodeBlanks Logo Icon CodeBlanks

Arama fonksiyonu

linear_search fonksiyonunu projeye ekleyip hedef notu aratır.

Sonucu yazdır

Şimdi report_result(notes, target) fonksiyonunu ekliyoruz. Bu fonksiyon, find_note'u çağırır ve sonucu ekrana yazdırır.

Hedef bulunursa indeks yazdırılır; bulunamazsa 'yok' yazdırılır. Bu, kullanıcıya açık bir geri bildirim sağlar.

Kullanıcı geri bildirimi

İyi bir arama aracı, sonucu kullanıcıya açıkça bildirmelidir. Bulunan indeks yazdırılır; bulunamadığında 'yok' mesajı gösterilir.

Bu yaklaşım, aramanın başarılı olup olmadığını tek bakışta anlamayı sağlar. Kullanıcı hiçbir zaman belirsizlik içinde kalmaz.

Uygulama Sonucu yazdır

report_result(notes, target) yaz. Hedef bulunursa indeksi, bulunamazsa 'yok' yazdır. report_result(init_notes(), 92) çağrısı 3 yazsın.

Başlangıç kodu

solution.py
def init_notes():
    # Not dizisini döndür
    return [85, 90, 78, 92, 88]
def find_note(notes, target):
    # Hedefi ara
    for i in range(len(notes)):
        if notes[i] == target:
            return i
    return -1
def report_result(notes, target):
    # Sonucu yazdır

Örnek çözüm

solution.py
def init_notes():
    # Not dizisini döndür
    return [85, 90, 78, 92, 88]
def find_note(notes, target):
    # Hedefi ara
    for i in range(len(notes)):
        if notes[i] == target:
            return i
    return -1
def report_result(notes, target):
    # Sonucu yazdır
    idx = find_note(notes, target)
    if idx >= 0:
        print(idx)
    else:
        print('yok')
report_result(init_notes(), 92)

Beklenen çıktı

3

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Sonuç kontrolü

Soru
idx ____ 0 ise bulundu demektir.
Cevap
idx >= 0 ise bulundu demektir.

Açıklama: >= doğru.

2 Arama fonksiyonu: kavramları eşleştir

Kavram Anlamı
report_result Yazdır
find_note Ara
idx İndeks
yok Bulunamadı

3 report_result ne yapar?

  • Dizi tanımlar
  • Arama yapıp yazdırır Doğru cevap
  • Diziyi sıralar
  • Hedef siler

Açıklama: report_result arama yapıp sonucu yazdırır.

Başlangıç bölümündeki tüm dersler