Önceki kısımlar:
#1. Bölümde Türkçe Kod yazma fikrini ele almıştık.
#2. Bölümde TAR’ın üzerinde koşacağı Python’u kurmuş ve herhangi bir .exe dosyası gibi çalışabilmesi için Path ayarlarını yapmıştık.
#3. Bölümde nasıl PhotoShop’un kullanacağı dosyaların uzantısı .psd ise bizde TAR’ın kullanacağı uzantıyı .tr olarak belirlemiş bu bunların konsoldan çağrılabilmesini sağlamıştık.
#4. Bölümde Programlama Dillerinin mantığına bakmış, Php’den C++’a hepsinin aslında KARAKTER yorumlayıcısı olduğuna değinmiştik.
#5. Bölümde “A “gibi bir harfin de aslında 0-1’lerden oluştuğuna ve bunu göstermek için Ekranın/Donanım ve Yazılımın eklem noktalarına değinmiştik.
#6 Bölümde YAZ kodumuzu çalıştırmıştık.
Yukarıdaki yazıların toplamı ışığında, YAZ kodumuzun çalışma mantığını biliyoruz. Biraz mutfak tarafına geçelim.
UzantiKontrol fonksiyonumuz ile TAR kelimesi sonrasına yazılacak olanları argüman olarak kabul ediyor ve ardından DosyaIcerik fonksiyonumuzla dosyanın içeriğini okuyorduk.
Şimdi önceki yazılarda üzerinde durduğumuz HARF HARF didikleme işlemimiz için,
Dosya içindeki BÜTÜN karakterleri bir liste içinde toplayalım. Boşuklar, Tablar, Satır atlamalar, tırnaklar, virgüller, parantezler elbetteki harfler ve rakamlar.. BÜTÜN her şey, harfler listemizin bir elemanı olsun.
So..
Bi tane Oku() fonksiyonumuz olsun. Bunun için
def Oku():
yazıyoruz alt satırda 1 TAB içeriden yazmaya başlıyoruz. (Çoğu editör bunu otomatik yapacaktır, ola ki TAB sayılarında bir aksilik çıkarsa, DELETE ile alt satırı yukarı ya çekip, arada hiç bir şey kalmadığında yeniden ENTER yaparak alt satıra geçebilirsiniz.
Oku() içinde önce UzantiKontrol() fonksiyonumuzu çalıştıralım.
Ardından harfler = list(okunan) ataması yaparak yukarıda bahsettiğimiz tüm KARAKTERLERİ bi listede toplama işini yapalım. Ve bunu ekrana basalım.
Ve bakalım elimizde ne var.
Evet. Tam istediğimiz gibi. Listenin elamanlarına dikkat ederseniz y harfi, a harfi, z harfinin yanında ardaki boşluk ve tırnak ve ardından Merhaba kelimesinin harfleri tek tek bulunmakta.
İyi ama şöyle olması gerekmez miydi? [‘y’,’a’,’z’,’ ‘, ‘”‘,’M’,’e’,’r’,… ..]
her tırnağın önünde bir u harfi var?
u’y’
Öyle olması gerekirdi. Ancak Türkçe karakterlerde sorun yaşamamak için hatırlarsanız üçüncü yazıda şu kodları eklemiştik
icerik = unicode(icerik,'utf-8')
ve özellikle UTF-8 kayıt yapan bir editör ile dosyalarımızı kayıt etmiştik.
Dolayısıyla, her değerin önündeki u, tırnağın içindeki karakterin UTF-8 formatında olduğunu söylüyor.
3 thoughts on “Konuşur gibi “Türkçe” Kod #7: Harf Listesi”