CodeBlanks Logo Icon CodeBlanks

Görev listeleme

list_tasks ile görevleri yazdırırsın.

Görev listeleme (list_tasks)

Ekledigimiz görevleri listelemek için bir list_tasks fonksiyonu yazalım. enumerate ile hem indeks hem değer alırız:

def list_tasks():
    for i, t in enumerate(tasks):
        print(i, t)

Bu, görevleri numaralandirilmis şekilde gösterir: 0 Ekmek al, 1 Sut al. indeks daha sonra tamamlama için kullanılacak.

enumerate nasıl çalışır?

enumerate(tasks) her döngüde bir (indeks, değer) ikilisi döndürür:

for i, t in enumerate(["Ekmek", "Sut"]):
    print(i, t)
# 0 Ekmek
# 1 Sut

Bu, klasik range(len(tasks)) döngüsüne göre daha Pythonic bir yöntemdir. indeks ve değere aynı anda erişmek için idealdir.

Bu, Python'da çok sık kullanılan bir kalıptır.

Uygulama list_tasks fonksiyonunu ekle

list_tasks adında bir fonksiyon tanımla; parametresiz. Gövdede for i, t in enumerate(tasks): döngüsü kur ve print(i, t) yapsın. list_tasks() ile çağır.

Başlangıç kodu

main.py
# Todo CLI - bos görev listesi
tasks = []
print(tasks)
def add_task(title):
    tasks.append(title)
add_task("Ekmek al")
add_task("Sut al")
# list_tasks fonksiyonunu ekle

Örnek çözüm

main.py
def list_tasks():
    for i, t in enumerate(tasks):
        print(i, t)
list_tasks()

Beklenen çıktı

[]
0 Ekmek al
1 Sut al

Soru ve cevaplar

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

1 list_tasks gövdesini tamamla

Soru
def list_tasks():
    for i, t in ____(tasks):
        print(i, t)
Cevap
def list_tasks():
    for i, t in enumerate(tasks):
        print(i, t)

Açıklama: enumerate hem indeks hem değer verir.

2 list(enumerate(["a", "b"])) ne döndürür?

  • ["a", "b"]
  • [0, 1]
  • [(0, "a"), (1, "b")] Doğru cevap
  • [("a", 0), ("b", 1)]

Açıklama: enumerate (indeks, değer) ikilileri döner.

3 Listeleme parçalarını eşleştir

Kavram Anlamı
enumerate Indeks ve değer
for i, t in Döngü şablonu
print(i, t) Yazdırma
list_tasks() Çağrı

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