Merhaba arkadaşlar. Aşağıda vereceğim fonksiyonu zamanında ben yazdım fakat tesadüfen tekrar karşıma çıktı ama bir türlü hangi mantıkla yazdığımı çıkaramadım. Yardımlarınız için şimdiden teşekkürler.
def remove_all_from_string(word, deleting_letter):
new_word = ""
for letter in word:
if letter.find(deleting_letter):
new_word += letter + "-"
return new_word
print(remove_all_from_string("helloll","l"))
çıktı: h-e-o-
Verilen metinde istenilen karakterleri metinden çıkaran fonksiyon
Koşul yapısında herhangi bir kontrol yapılmadığını düşünüyorum buna rağmen sonucu nasıl oluyor da doğru veriyor.
Fonksiyon çalışıyor ama, - işaretlerini gereksiz yere koyuyor. Örneğin leman kelimesini test edersek çıktı e-m-a-n- oluyor ve düzenli bir çıktı olmuyor. Çalışma şekli şu: eğer sıradaki harf aranan harf ise es geçiyor, ancak sıradaki harf aranan harf değilse sıradaki + "-" şeklinde ekleme yapıyor.
Şöyle olabilir
def remove_all_from_string(word, deleting_letter):
new_word = ""
for letter in word:
if letter.find(deleting_letter):
new_word += letter
return new_word
print(remove_all_from_string("hello world","l"))
Bu daha anlaşılır bir örnek
def remove_all_from_string(word, deleting_letter):
new_word = ""
for i in word:
if(i!=deleting_letter):
new_word += i
return new_word
print(remove_all_from_string("hello world","l"))
Yardımınız için teşekkürler fakat sanırım kendimi ifade edemedim. Kafama takılan şey düzgün bir formatta çıktı verip vermemesinden ziyade nasıl oluyor da doğru sonucu buluyor. Çünkü şartlı ifadenin mantığını bir türlü oturtamadım kafamda. Şu anki mantığıma göre programın şöyle bir sonuç vermesi gerekiyor.
girdi: eleman,e
çıktı: e-l-e-m-a-n-
Şöyle ki zamanında yazmışım bu kodu hatırlamıyorum. Öğrenmek istediğim şey; doğru sonuca hangi mantıkla gidiyor. Şu an fonksiyonun doğru çalışmaması gerekiyor düşünceme göre ama çalışıyor.