Sonucu yazdır
- Algoritmalar kursu
- Başlangıç
- Ders 20/80
- 4 dk
Arama sonucunu bulundu/bulunamadı biçiminde ekrana yazdırırsın.
Tüm geçişleri bul
Son adımda find_all(notes, target) fonksiyonunu ekliyoruz. Bu, hedefin dizideki tüm geçtiği yerleri bir dizide toplar.
Her eşleşmenin indeksini bir sonuç dizisine ekleriz. Bu, bir notun birden çok öğrencide geçip geçmediğini bulmak için kullanışlıdır.
Proje tamamlandı
Artık çalışan bir not arama uygulaman var: init_notes diziyi verir, find_note arar, report_result yazdırır, find_all tüm geçişleri bulur.
Her fonksiyon bir öncekinin üzerine inşa edildi. Bu, gerçek dünya yazılım geliştirmede kullanılan birikimli yaklaşımdır.
Uygulama Tüm geçişleri bul
find_all(notes, target) yaz. Hedefin tüm geçtiği indeksleri bir dizide topla ve yazdır. find_all([85, 92, 78, 92], 92) çağrısı 1, 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
idx = find_note(notes, target)
if idx >= 0:
print(idx)
else:
print('yok')
def find_all(notes, target):
# Tüm indeksleri bulÖ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')
def find_all(notes, target):
# Tüm indeksleri bul
result = []
for i in range(len(notes)):
if notes[i] == target:
result.append(i)
for idx in result:
print(idx)
find_all([85, 92, 78, 92], 92)Beklenen çıktı
1 3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sonucu yazdır: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
find_all |
Tümünü bul |
result |
Sonuç dizisi |
append |
Ekle |
print |
Yazdır |
2 find_all ne döndürür?
- Tek indeks
- Hata
- İndeks dizisi Doğru cevap
- Bir not
Açıklama: find_all indeks dizisi döndürür.
3 Toplama
Her eşleşme result dizisine ____ edilir.
Her eşleşme result dizisine append edilir.
Açıklama: append doğru.