Neler yeni

Python ile 4 haneli sayıları yazıya dökme (2 Viewers)

DarksoN

Beyaz Takkeli
majorrr
Mesajlar
292
Credits
285
Evet biliyorum hackle ilgisi yok ama python önemli bir dil merakı olanda bakmış olur :) :) :)



sayi=input("bir sayi giriniz: ") #İmha Timinden DarksoN sunar

rakamlar= {"1":"Bir","2":"İki","3":"Uc","4":"Dort","5":"Bes",
"6":"Alti","7":"Yedi","8":"Sekiz","9":"Dokuz"}
onlar=["On","Yirmi","Otuz","Kirk","Elli","Altmis","Yetmis","Seksen","Doksan"]
eklenecekler=["Bin","Yuz"]



sayicumlesi="" #sayılarımızın türkçe karşılığını hafızada tutacağımız değişken(ilk değer boş)
birlerbasamagi=0 #birlerbasamagi değişkeni 0 iken onlar basamağını yazmasını istiyoruz
#1 iken birler basamağını yazsin

sayac=0 #eklenecekler değişkeninde 'Bin' ve 'Yuz' diye iki eleman var
#ilk başta Bin'i sonra Yuz'u eklemesi için sayac tuttum
#aynı zamanda da sayac 1 den küçük eşit ise binler ve yüzler
#1 den büyük ise onlar ve yüzleri yazdırmak içinde kullandım

for i in range(len(sayi)): #sayımızın boyutu kadar döngü yaptık
if(len(sayi)==4): #(eğer girilen sayı 4 elemanlı ise) yazarak işi garantiledik
if(sayac<=1): #bu if de binleri ve yüzleri hesaplıyacağız
if((int(sayi[1])!=0)or(i!=1)): #eğer yüzler basamağı 0 değil veya i 1 değil ise kodlar çalışsın
#mesela 1000 girersek bir bin yazacak ve bir daha girmiyecek
#çünkü ikinci eleman 0 oluyor
if((int(sayi[1])!=1)or(i!=1)): #eğer 2.elemanımız(sayi[1]) 1 olursa 2.döngüde 'bir yüz' olmasın diye
#bir i yazdırmamamız lazım. Onu engellemek için
#buradada sayi[1] 1'e eşit değil veya i 1'e eşit değil ise çalışsın
sayicumlesi+= rakamlar[sayi]+" " #rakamlar sözlüğüne sayiyi gonderip türkçesini alıyoruz ve yazimiza ekliyoruz
sayicumlesi+= eklenecekler[sayac]+" " #sayac 0'dı oyüzden Bin yazacaktır
sayac=sayac+1 #sayac 1 arttı diğerine Yüz yazacak ve bu bloğa artık girmiyecek
#sayac<=1 değil o yüzden aşağıdan devam edecek
else:
if birlerbasamagi==0: #eğer birlerbasamağı 0 ise şuanda onlar basamağındayız diye düşünün
if(int(sayi[2])!=0): #eğer 3.elemanımız 0 değil ise yazdıralım, çünkü on yirmi değilde sifir
#yazilmasini istemezsiniz
sayicumlesi+= onlar[int(sayi)-1]+" " #onlar değişkeninde elemanlar 'on' 'yirmi' diye başlıyor
#sayı örneğin 2 olsun yirmi yazması lazım, onlar[2]
#diye gönderirsek 0,1,2 yani otuzu verecek, o yüzden
#-1 yazıyoruz ki yirmi yazsın
birlerbasamagi=1 #birlerbasamağı nın değeri 1 oldu diğer döngüde artık else den devam edecek
#yani birlerbasamağını yazacaktır
else:
if(int(sayi[3])!=0): #eğer birler basamağı 0 değil ise kac olursa olsun eklesin
sayicumlesi+= rakamlar[str(sayi)] #rakamlar sözlüğünden sayımızı çekiyoruz ve ekliyoruz

print (sayicumlesi)
 

W1se

Meee🐏
ez152
Mesajlar
1,131
Credits
20
Evet biliyorum hackle ilgisi yok ama python önemli bir dil merakı olanda bakmış olur :) :) :)



sayi=input("bir sayi giriniz: ") #İmha Timinden DarksoN sunar

rakamlar= {"1":"Bir","2":"İki","3":"Uc","4":"Dort","5":"Bes",
"6":"Alti","7":"Yedi","8":"Sekiz","9":"Dokuz"}
onlar=["On","Yirmi","Otuz","Kirk","Elli","Altmis","Yetmis","Seksen","Doksan"]
eklenecekler=["Bin","Yuz"]



sayicumlesi="" #sayılarımızın türkçe karşılığını hafızada tutacağımız değişken(ilk değer boş)
birlerbasamagi=0 #birlerbasamagi değişkeni 0 iken onlar basamağını yazmasını istiyoruz
#1 iken birler basamağını yazsin

sayac=0 #eklenecekler değişkeninde 'Bin' ve 'Yuz' diye iki eleman var
#ilk başta Bin'i sonra Yuz'u eklemesi için sayac tuttum
#aynı zamanda da sayac 1 den küçük eşit ise binler ve yüzler
#1 den büyük ise onlar ve yüzleri yazdırmak içinde kullandım

for i in range(len(sayi)): #sayımızın boyutu kadar döngü yaptık
if(len(sayi)==4): #(eğer girilen sayı 4 elemanlı ise) yazarak işi garantiledik
if(sayac<=1): #bu if de binleri ve yüzleri hesaplıyacağız
if((int(sayi[1])!=0)or(i!=1)): #eğer yüzler basamağı 0 değil veya i 1 değil ise kodlar çalışsın
#mesela 1000 girersek bir bin yazacak ve bir daha girmiyecek
#çünkü ikinci eleman 0 oluyor
if((int(sayi[1])!=1)or(i!=1)): #eğer 2.elemanımız(sayi[1]) 1 olursa 2.döngüde 'bir yüz' olmasın diye
#bir i yazdırmamamız lazım. Onu engellemek için
#buradada sayi[1] 1'e eşit değil veya i 1'e eşit değil ise çalışsın
sayicumlesi+= rakamlar[sayi]+" " #rakamlar sözlüğüne sayiyi gonderip türkçesini alıyoruz ve yazimiza ekliyoruz
sayicumlesi+= eklenecekler[sayac]+" " #sayac 0'dı oyüzden Bin yazacaktır
sayac=sayac+1 #sayac 1 arttı diğerine Yüz yazacak ve bu bloğa artık girmiyecek
#sayac<=1 değil o yüzden aşağıdan devam edecek
else:
if birlerbasamagi==0: #eğer birlerbasamağı 0 ise şuanda onlar basamağındayız diye düşünün
if(int(sayi[2])!=0): #eğer 3.elemanımız 0 değil ise yazdıralım, çünkü on yirmi değilde sifir
#yazilmasini istemezsiniz
sayicumlesi+= onlar[int(sayi)-1]+" " #onlar değişkeninde elemanlar 'on' 'yirmi' diye başlıyor
#sayı örneğin 2 olsun yirmi yazması lazım, onlar[2]
#diye gönderirsek 0,1,2 yani otuzu verecek, o yüzden
#-1 yazıyoruz ki yirmi yazsın
birlerbasamagi=1 #birlerbasamağı nın değeri 1 oldu diğer döngüde artık else den devam edecek
#yani birlerbasamağını yazacaktır
else:
if(int(sayi[3])!=0): #eğer birler basamağı 0 değil ise kac olursa olsun eklesin
sayicumlesi+= rakamlar[str(sayi)] #rakamlar sözlüğünden sayımızı çekiyoruz ve ekliyoruz


print (sayicumlesi)
es
 

Bu konuyu görüntüleyen kullanıcılar