Raqamni so'z bilan yozish

2025 Yan 24, 10:04 • Feruza Eshdavlatova (@feruza_erkinovna)

def sonni_yozma(son):
    birlik = ["", "bir", "ikki", "uch", "to'rt", "besh", "olti", "yetti", "sakkiz", "to'qqiz"]
    onlik = ["", "o'n", "yigirma", "o'ttiz", "qirq", "ellik", "oltmish", "yetmish", "sakson", "to'qson"]
    yuzlik = "yuz"
    minglik = ["", "ming", "million", "milliard", "trillion", "kvadrilon", "kvintilon"]


    def uch_xona(raqam):
        raqam = raqam.zfill(3)
        yuz = int(raqam[0])
        on = int(raqam[1])
        bir = int(raqam[2])
        natija = ""
        if yuz:
            natija += birlik[yuz] + " " + yuzlik + " "
        if on:
            natija += onlik[on] + " "
        if bir:
            natija += birlik[bir]
        return natija.strip()


    
    n = len(son)
    son_yozma = []
    i = 0
    while n > 0:
        uchlik = son[max(0, n-3):n]
        if i > 0 and uchlik != "000":
            son_yozma.append(minglik[i])
        son_yozma.append(uch_xona(uchlik))
        n -= 3
        i += 1


    return ' '.join(reversed(son_yozma)).strip()



kiritilgan_son = input("Sonni kiriting: ")
yozma_son = sonni_yozma(kiritilgan_son)
print(yozma_son)



206 marta ko'rildi
Feruza Eshdavlatova - uzbekdevs photo

Feruza Eshdavlatova

@feruza_erkinovna

Telegram Post

@uzbekdevs
“uzbekdevs.uz” saytida eʼlon qilingan materiallardan nusxa koʻchirish, tarqatish va boshqa shakllarda foydalanish faqat manba ko'rsatilishi orqali amalga oshirilishi mumkin.
© UzbekDevs