def read3num(bas_3_Sayi,kacinci3): #Yüzler basamağına kadar okuyor. x = 0 my_list = [] while x < 3: #Birler basamağı if (x == 0): if bas_3_Sayi[0] == '0': print(*my_list) elif bas_3_Sayi[0] == '1': my_list.insert(0,'Bir') print(*my_list) elif bas_3_Sayi[0] == '2': my_list.insert(0,'İki') print(*my_list) elif bas_3_Sayi[0] == '3': my_list.insert(0,'Üç') print(*my_list) elif bas_3_Sayi[0] == '4': my_list.insert(0,'Dört') print(*my_list) elif bas_3_Sayi[0] == '5': my_list.insert(0,'Beş') print(*my_list) elif bas_3_Sayi[0] == '6': my_list.insert(0,'Altı') print(*my_list) elif bas_3_Sayi[0] == '7': my_list.insert(0,'Yedi') print(*my_list) elif bas_3_Sayi[0] == '8': my_list.insert(0,'Sekiz') print(*my_list) elif bas_3_Sayi[0] == '9': my_list.insert(0,'Dokuz') print(*my_list) # Birl elif(x == 1): if bas_3_Sayi[1] == '0': print(*my_list) elif bas_3_Sayi[1] == '1': my_list.insert(0,'On') print(*my_list) elif bas_3_Sayi[1] == '2': my_list.insert(0,'Yirmi') print(*my_list) elif bas_3_Sayi[1] == '3': my_list.insert(0,'Otuz') print(*my_list) elif bas_3_Sayi[1] == '4': my_list.insert(0,'Kırk') print(*my_list) elif bas_3_Sayi[1] == '5': my_list.insert(0,'Elli') print(*my_list) elif bas_3_Sayi[1] == '6': my_list.insert(0,'Altmış') print(*my_list) elif bas_3_Sayi[1] == '7': my_list.insert(0,'Yetmiş') print(*my_list) elif bas_3_Sayi[1] == '8': my_list.insert(0,'Seksen') print(*my_list) elif bas_3_Sayi[1] == '9': my_list.insert(0,'Doksan') print(*my_list) elif(x == 2): if bas_3_Sayi[2] == '0': print(*my_list) elif bas_3_Sayi[2] == '1': my_list.insert(0, 'Yüz') print(*my_list) elif bas_3_Sayi[2] == '2': my_list.insert(0, 'İki Yüz') print(*my_list) elif bas_3_Sayi[2] == '3': my_list.insert(0, 'Üç Yüz') print(*my_list) elif bas_3_Sayi[2] == '4': my_list.insert(0, 'Dört Yüz') print(*my_list) elif bas_3_Sayi[2] == '5': my_list.insert(0, 'Beş Yüz') print(*my_list) elif bas_3_Sayi[2] == '6': my_list.insert(0, 'Altı Yüz') print(*my_list) elif bas_3_Sayi[2] == '7': my_list.insert(0, 'Yedi Yüz') print(*my_list) elif bas_3_Sayi[2] == '8': my_list.insert(0, 'Sekiz Yüz') print(*my_list) elif bas_3_Sayi[2] == '9': my_list.insert(0, 'Dokuz Yüz') print(*my_list) x+=1 if(kacinci3 == 1): my_list.append("") elif(kacinci3 == 2): my_list.append("Bin") elif(kacinci3 == 3): my_list.append("Milyon") elif(kacinci3 == 4): my_list.append("Milyar") elif(kacinci3 == 5): my_list.append("Trilyon") elif(kacinci3 == 6): my_list.append("Katrilyo") return (my_list) def number_read(number): myList = [] num_length = len(number) #Girilen sayının eleman uzunluğunu belirtir. i = 3 ranger = 0 #Kaç adet 3 sayılık bölümü olduğumu belirten değer. number = int(number) if ((number % 3) != 0): ranger = int((len(str(number))/3)+1) #Sayının 3 ile modu alınır. 0à eşit değil ise ranger 1 arttırılır. # Bunun sebebi sadece 3`ün katı kadar elemana sahip olan sayıları değil hepsini yorumlamaktır. else: ranger = int(len(str(number))/3) #Sayının 3 ile modu 0 ise direkt sayının eleman sayısının 3`e bölümüne eşitlenir. l = 0 number = str(number) #Sayının istediğimiz elemanına ulaşabilmek için string`e dönüştürerek yorumluyoruz. #İnteger ile bu işlemi yapamıyoruz, hata veriyor. while l < ranger: sayi = [] #Ayrı bir sayı dizisi oluşturarak elemanları 3`erli gruplara ayıracaz. say_len = 0 while say_len < i: sayi.insert(0,number[num_length-(say_len+1)]) #Sayının en sağdaki elamanından başlamak için eleman uzunluğundan while döngüsünün bitişini sağlayan değişkeni çıkarıyoruz. #Bu sayede sırayla sağdan sola sayının rakamlarına ulaşabiliyoruz. say_len +=1 sayi = [] #Sayı değişkenini içi boş dizi haline getirerek daha fazla basamaklı sayılada diğer 3 basamağın # alınabilmesini ve karışıklık çıkmasını engelleriz. i += 3 myList.insert(0,read3num(list(reversed(sayi)),(i/3))) #Burada aldığımız son 3 basamaktaki sayıları ters döndürerek gönderiyruz. #Bu kısım da "read3num(list(reversed(sayi)))" kısmını başka bir döngüyle daha fazla hanesi olan sayılar için düzenleyebiliriz. l += 1 return myList def numberSay(): print("*_* Sayıyı Türkçe Okutma Algoritması *_*") while True: number = input("Sayınızı Giriniz -> ") if number.isdigit() == True: print(number_read(number)) else: print("Lütfen Rakamlardan Oluşan Sayınızı Girmeyi Deneyiniz") numberSay()