PY3 - Cümledeki Sesli Harfleri Çıkarmak
-
Arkadaşlar python 3 programlama dilinde kendimi geliştiriyorum
Bazı konularda python diline başlayan arkadaşların olduğunu gördüm
Onlarda bakıp bir şeyler kapabilir diye düşünüp burada böyle bir küçük program yazdım
Neyse uzatmadan kodları atayım
Renkli daha anlaşılır olacağından : https://paste.ubuntu.com/24465696/
# Inputtan istediğimiz veriden belli. Cümleyi alıyoruz cumle = input("Sesli harflerini sileceğim cümleyi giriniz: ") # Türkçedeki sesli harfleri "sesliler" değişkenine atıyoruz sesliler = "a,e,ı,i,o,ö,u,ü,A,E,I,İ,O,Ö,U,Ü" for i in sesliler: # for döngüsü ile her sesli harfi "i" değişkenine atıyoruz cumle = cumle.replace(i,"") #for döngüsü i değişkenine sırayla sesli # harfi atıyor ilk sesli harfimiz "a" eğer cumlede a harfi varsa onu # boş değerle değiştir ve cumle değişkenine kayıt et # tüm seslileri kontrol et ve döngü bitince... print(cumle) # cumle değişkenini çalıştır -
Deneme:
Sesli harflerini sileceğim cümleyi giriniz: Tahribata girip konu açtım :D
Thrbt grp kn çtm :D
>>>
-
valla anladım, ellerine sağlık :D
-
Çok bilmeyen birisiyim ama array tanımlarken sesliler = ["a","e","ı","i","o","ö","u","ü","A","E","I","İ","O","Ö","U","Ü"] şeklinde tanımlanması gerekmiyor mu? Sanki string tanımlar gibi olmuş
-
NoktaliVirgul bunu yazdı
Çok bilmeyen birisiyim ama array tanımlarken sesliler = ["a","e","ı","i","o","ö","u","ü","A","E","I","İ","O","Ö","U","Ü"] şeklinde tanımlanması gerekmiyor mu? Sanki string tanımlar gibi olmuş
hocam hem kontrol için hem de ondan kaçınmak için for döngüsü kullandım zaten "a,e,ı,i,ö...." içindeki her karakteri sırayla i değişkenine atıp çıkarıp diğerine geçiyor
-
@RimPalace hocam sesli harfleri aralarına virgül koymadan yazman daha mantıklı olacaktır. Çünkü for döngüsüne soktuğunda sesliler değişkenindeki tüm karakteri tek tek alıp kontrol edecektir yazdığınız kodlar doğal olarak aradaki her bir virgül (,) işaretini tekrar tekrar alıp kontrol edecektir. Evet saniyenin binde biri kadar bir yavaşlama olur belki ama yazım yanlışı olduğunu düşünüyorum.
sesliler = "aeıioöuü" gibi.
-
http://paste.ubuntu.com/24465789/
import re def cevir(yazi): return re.sub('[aeıioöuü]', '', yazi, flags=re.IGNORECASE)
Caliber tarafından 27/Nis/17 13:10 tarihinde düzenlenmiştir -
Bu işi uzatmadan regex ile daha lplay yapabilirsiniz.
-
Arkadaş yeni başlayanlar için demiş. Regex ten önce karakter dizi metodu ile öğrenmesi daha iyidir bence.
-
coder2 bunu yazdı
@RimPalace hocam sesli harfleri aralarına virgül koymadan yazman daha mantıklı olacaktır. Çünkü for döngüsüne soktuğunda sesliler değişkenindeki tüm karakteri tek tek alıp kontrol edecektir yazdığınız kodlar doğal olarak aradaki her bir virgül (,) işaretini tekrar tekrar alıp kontrol edecektir. Evet saniyenin binde biri kadar bir yavaşlama olur belki ama yazım yanlışı olduğunu düşünüyorum.
sesliler = "aeıioöuü" gibi.
harbi ben niye öyle yazmışım ki normalde yazmam öyle :)
sağolasın uyarın için hocam
-
coder2 bunu yazdı
Arkadaş yeni başlayanlar için demiş. Regex ten önce karakter dizi metodu ile öğrenmesi daha iyidir bence.
Aynen hocam yeni başlayanlar için bende öyleyim