Arama fonksiyonu
- Algoritmalar kursu
- Başlangıç
- Ders 19/80
- 4 dk
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
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
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ü
idx ____ 0 ise bulundu demektir.
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.