CodeBlanks Logo Icon CodeBlanks

Görev tamamlama

complete_task ile durumu güncellersin.

Görev tamamlama (complete_task)

Görev tamamlamak için complete_task fonksiyonu yazalım. indeks alır, listede o indeksteki görevi günceller:

def complete_task(index):
    if 0 <= index < len(tasks):
        tasks[index] = tasks[index] + " [tamam]"

Bu, görevin başlığına " [tamam]" ekler. if ile indeksin geçerli olduğunu kontrol ederiz; böylece listeden dışarı cikilmaz.

Bu yöntem, gerçek uygulamalarda yaygın bir kalıptır. Hatalı indeksler için güvenli bir geri dönüş sağlar ve programın çökmesini önler.

indeks kontrolü neden önemli?

indeks kontrolü olmadan tasks[10] gibi bir çağrı IndexError verir; bu programın çökmesini sağlar. if ile kontrol etmek, programın güvenli çalışmasını sağlar:

if 0 <= index < len(tasks):
    # guvenli işlem

Bu, iyi bir yazılım alışkanlığıdır. Yanlış girdilere karşı kodu korur ve kullanıcının hata mesajları görmesini engeller. Bu yöntem CLI uygulamalarında çok önemlidir.

Uygulama complete_task fonksiyonunu ekle

complete_task adında bir fonksiyon tanımla; index parametresi alsın. Gövdede if 0 <= index < len(tasks): ile kontrol et ve tasks[index] = tasks[index] + " [tamam]" ile işaretle. complete_task(0) ile çağır, sonra list_tasks() ile listele.

Başlangıç kodu

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

Örnek çözüm

main.py
def complete_task(index):
    if 0 <= index < len(tasks):
        tasks[index] = tasks[index] + " [tamam]"
complete_task(0)
list_tasks()

Beklenen çıktı

[]
0 Ekmek al [tamam]
1 Sut al

Soru ve cevaplar

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

1 0 <= index < len(tasks) neyi kontrol eder?

  • index pozitif mi
  • index tam sayı mi
  • index büyük mu
  • index listede mi Doğru cevap

Açıklama: Bu koşul index'in liste içinde olduğunu kontrol eder.

2 complete_task gövdesini tamamla

Soru
def complete_task(index):
    if 0 <= index < ____(tasks):
        tasks[index] = tasks[index] + " [tamam]"
Cevap
def complete_task(index):
    if 0 <= index < len(tasks):
        tasks[index] = tasks[index] + " [tamam]"

Açıklama: len(tasks) listenin uzunluğunu verir.

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

Kavram Anlamı
index Parametre
0 <= index < len Kontrol
tasks[index] = Atama
complete_task(0) Çağrı

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