Create the English word for a number
There's an easier way.
We have the num2words module which can be easily installed via pip:
pip install num2words

The advantage of this module is that it supports multiple languages:


en (English, default)
fr (French)
de (German)
es (Spanish)
lt (Lithuanian)
lv (Latvian)
en_GB (British English)
en_IN (Indian English)
no (Norwegian)
pl (Polish)
ru (Russian)
dk (Danish)
pt_BR (Brazilian Portuguese)


More, you can even generate ordinal numbers like forty-second.
A small python example for converting numbers to words using num2words looks like this:
&gt;&gt;&gt; from num2words import num2words
&gt;&gt;&gt; num2words(42)
forty-two
&gt;&gt;&gt; num2words(42, ordinal=True)
forty-second

You can read more about what you can do using this module here

NOTE: In case somebody is wondering why this is not a code review (such as comments on the posted code), is because in the unedited question the author specifically asked if there is already a library for this.