Bu alıştırmada Python’da string (metin) işlemlerini uygulamalı olarak öğreneceğiz.
Küçük kız kardeşiniz yeni kelimeler öğreniyor ve sizden kelimeler üzerinde çeşitli işlemler yapabilen bazı yardımcı fonksiyonlar geliştirmenizi istiyor.
Aşağıdaki sorularda eksik bırakılan kodları tamamlamaya çalışın. Çözümlere geçmeden önce kendi cevaplarınızı üretmeniz öğrenme sürecinizi hızlandıracaktır.
Soru 1: Kelimenin Sonuna Bir Ek Ekleme
Elimizde bir kök kelime bulunuyor.
Örnek:
stem = "play"
Kelimenin sonuna "ing" eklemek istiyoruz.
Beklenen sonuç:
"playing"
Fonksiyonu tamamlayın:
def add_suffix_to_stem(stem): return ____________________
İpucu:
String birleştirmek için hangi operatör kullanılır?
Soru 2: Bir Kelime Grubundan Kök Kelimeyi Bulma
Elimizde aşağıdaki gibi bir ifade bulunuyor:
"play :: playing"
Buradaki ilk kelimeyi almak istiyoruz.
Beklenen sonuç:
"play"
Fonksiyonu tamamlayın:
def extract_stem(derivation): return ____________________
İpucu:
String’i belirli bir karakter grubuna göre parçalayabilir misiniz?
Soru 3: Yeni Bir Kelime Oluşturma
Bir ifade veriliyor:
"play :: playing"
Ve yeni bir son ek:
"er"
Amaç:
İlk kelimeyi alıp sonuna yeni eki eklemek.
Beklenen sonuç:
"player"
Fonksiyonu tamamlayın:
def derive_word(derivation, suffix): stem = ____________________ return ____________________
Soru 4: Bir Cümlede Belirli Bir Kelimeyi Bulma
Bir cümle içerisinde belirli bir kelimenin kaçıncı sırada olduğunu bulmak istiyoruz.
Örnek:
sentence = "The quick brown fox jumps"word = "brown"
Beklenen sonuç:
2
Çünkü indeksler sıfırdan başlar:
0 -> The1 -> quick2 -> brown3 -> fox4 -> jumps
Fonksiyonu tamamlayın:
def locate_word(sentence, word): words = ____________________ return ____________________
İpucu:
Önce cümleyi kelimelere ayırmanız gerekiyor.
Soru 5: Cümledeki Son Kelimeyi Bulma
Bir cümledeki son kelimeyi döndürün.
Örnek:
"The quick brown fox"
Beklenen sonuç:
"fox"
Fonksiyonu tamamlayın:
def last_word(sentence): words = ____________________ return ____________________
İpucu:
Python’da son elemanı almak için hangi indeks kullanılır?
Soru 6: İlk Kelimeyi Bulma
Bir cümlenin ilk kelimesini döndürün.
Örnek:
"The quick brown fox"
Beklenen sonuç:
"The"
Fonksiyonu tamamlayın:
def first_word(sentence): words = ____________________ return ____________________
Soru 7: Kelime Sayısını Bulma
Bir cümlede kaç kelime olduğunu hesaplayın.
Örnek:
"The quick brown fox jumps"
Beklenen sonuç:
5
Fonksiyonu tamamlayın:
def word_count(sentence): words = ____________________ return ____________________
Çözümler
Çözüm 1
def add_suffix_to_stem(stem): return stem + "ing"
Çözüm 2
def extract_stem(derivation): return derivation.split(" :: ")[0]
Örnek:
extract_stem("play :: playing")
Sonuç:
"play"
Çözüm 3
def derive_word(derivation, suffix): stem = extract_stem(derivation) return stem + suffix
Örnek:
derive_word("play :: playing", "er")
Sonuç:
"player"
Çözüm 4
def locate_word(sentence, word): words = sentence.split() return words.index(word)
Örnek:
locate_word( "The quick brown fox jumps", "brown")
Sonuç:
2
Çözüm 5
def last_word(sentence): words = sentence.split() return words[-1]
Çözüm 6
def first_word(sentence): words = sentence.split() return words[0]
Çözüm 7
def word_count(sentence): words = sentence.split() return len(words)
Bu Alıştırmada Öğrendiklerimiz
Bu çalışma sayesinde aşağıdaki Python konularını uygulamalı olarak kullanmış olduk:
- String veri tipi
- String birleştirme (
+) split()metodu- Liste indeksleme
- Negatif indeksler
index()metodulen()fonksiyonu- Fonksiyonlar
- Parametre kullanımı
- Metin işleme teknikleri
Gerçek hayatta arama motorları, yapay zeka uygulamaları, chatbotlar ve veri analizi projeleri sürekli olarak metinlerle çalışır. Bu nedenle string işlemlerini iyi öğrenmek Python yolculuğunda önemli bir adımdır.
Kaynak: https://exercism.org/tracks/python/exercises/little-sisters-vocab
