Python Alıştırması: Küçük Kız Kardeşin Kelime Hazinesi (Little Sister’s Vocabulary)


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 -> The
1 -> quick
2 -> brown
3 -> fox
4 -> 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() metodu
  • len() 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

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.