def number_to_words(num):
units = ['', ' один', ' два', ' три', ' четыре', ' пять', ' шесть', ' семь', ' восемь', ' девять']
dozens = ['двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто']
exceptions_words = ['десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать']
exceptions_numbers = [number for number in range(10, 20)]
num = str(num)
if len(num) == 1:
return units[int(num)]
if int(num) in exceptions_numbers:
return exceptions_words[int(num[1])]
return dozens[int(num[0]) - 2] + units[int(num[1])]
У меня такая штука получилась, если без словарей