Это может быть легко жестко закодировано в словаре, если есть ограниченное количество чисел, которое вы хотите проанализировать.
Для немного более сложных случаев вы, вероятно, захотите сгенерировать этот словарь автоматически, основываясь на относительно простой грамматике чисел. Что-то вроде этого (конечно, обобщенного ...)
for i in range(10):
myDict[30 + i] = "thirty-" + singleDigitsDict[i]
Если вам нужно что-то более обширное, то похоже, что вам понадобятся инструменты для обработки естественного языка. Эта статья может быть хорошей отправной точкой.