Programlama

Problem çözme: kelime sayacı

Gerçek bir problemi adım adım programa çevir.

Tüm dersler · Python dersleri: sıfırdan öğren

Bir problem nasıl çözülür

Kod yazmadan önce problemi sade cümlelerle anlat. Sonra küçük adımlara böl ve her adımı ayrı dene. Bu yöntem büyük programları yönetilebilir hale getirir.

  1. Ne veriliyor, ne isteniyor? Örnek girdi ve beklenen çıktıyı yaz.
  2. Elle çöz ve adımları not et.
  3. Adımları fonksiyonlara dönüştür.
  4. Küçük örneklerle dene, sonra uç durumları kontrol et.

Örnek: kelime sayacı

Görev: bir metinde her kelimenin kaç kez geçtiğini say. Plan: metni küçük harfe çevir, noktalamayı temizle, kelimelere böl, dict'te say, en sık geçenleri göster.

def clean(text):
    keep = "abcdefghijklmnopqrstuvwxyz əöüğışç"
    return "".join(ch for ch in text.lower() if ch in keep)

def count_words(text):
    counts = {}
    for word in clean(text).split():
        counts[word] = counts.get(word, 0) + 1
    return counts

def top(counts, n=3):
    return sorted(counts.items(), key=lambda p: p[1], reverse=True)[:n]

sample = "The cat and the dog. The end!"
print(top(count_words(sample)))   # [('the', 3), ('cat', 1), ('and', 1)]

Her fonksiyon tek iş yapar ve ayrı denenebilir. Sonra programı genişletmek kolaydır: dosyadan okumak, sonucu kaydetmek, çok kısa kelimeleri atlamak.

Hataları bulmak

Program beklenmedik davranıyorsa ara değerleri print() ile göster ve gerçeğin beklentiden nerede ayrıldığını bul. Küçük assert denetimleri, fonksiyonu sonradan değiştirdiğinde seni korur.

assert count_words("a a b") == {"a": 2, "b": 1}
assert top({"x": 1, "y": 5}, 1) == [("y", 5)]
print("all checks passed")

Yazar: Nibras Code