0 ile 9.999 arasındaki sayıları alan ve sayının sözlü halini yazdıran bir program tasarlayın.
def convert_to_spoken(num):
 eğer num değilse:
 'sıfır' döndür
 
 eğer num > 9999:
 print('Sayı 10.000'den küçük olmalıdır')
 return
 
 tekler = {1: 'bir', 2: 'iki', 3: 'üç', 4: 'dört',
 5: 'beş', 6: 'altı', 7: 'yedi', 8 : 'sekiz',
 9: 'dokuz'
 }
 
 gençler = {10: 'on', 11: 'onbir', 12: 'on iki',
 13: 'onüç', 14: "ondört", 15: "onbeş",
 16: "onaltı", 17: "onyedi", 18: "onsekiz",
 19: "ondokuz"
 }
 
 onlar = {2: ' yirmi', 3: 'otuz', 4: 'kırk', 5: 'elli',
 6: 'altmış', 7: 'yetmiş', 8: 'seksen', 9: 'doksan',
 } 
 
 # sayı uzunluğuna göre adım listesi oluştur
 adımlar = [
 ('bin', 1000000), (' yüz', 1000),
 ('', 0)
 ]
 
 # sayıyı her biri 3 haneye böl
 hane = []
 iken num > 0:
r = num % 1000
 digits.insert(0, r)
 num //= 1000
 
 Speaking_num = []
 # her 3 basamağı konuşma biçimine dönüştürün
 i için, enumerate(digits):
 if dig == 0:
 devam et
 
 lbl, adım = adımlar[i] 
a, b = divmod(dig, step)
 
 Speaking_num.append(convert_to_spoken_3dig(a, b, 
 single, teens, tens))
 Speaking_num.append(lbl)
 
 return ' '. join(speak_num)

def convert_to_spoken_3dig(a, b, singles, teens, tens):
 Speaking_nums = []
 
 # yüzlerce basamağı dönüştür
 if a:
 Speaking_nums.append(singles[a] + ' yüz')
 
 # onlar basamağını çevir
 if b:
 if b in single:
 Speaking_nums.append(singles[b])
 elif b in teens:
 Speaking_nums.append(teens [b])
 else:
t, o = divmod(b, 10)
 Speaking_nums.append(tens[t])
 if o:
 Speaking_nums.append(singles[o])
 
 return '' '.join(speak_nums)