"""
 digits.py

 write a recursive function
 to print out digits of a 
 number in english.
"""

names = ['zero',
         'one',
         'two',
         'three',
         'four',
         'five',
         'six',
         'seven',
         'eight',
         'nine' ]

# names[3]

def digit_names(n):
    """ Return a string of names of the digits.
    >>> digit_names(123)
    'one two three'
    >>> digit_names(45)
    'four five'
    """                                     #   1234
    n_string = str(n)                       #   '1234'
    first_digit = n_string[0]               #   '1'
    first_name = names[int(first_digit)]    #   'one'
    if len(n_string) == 1:
        return first_name
    else:
        rest = int(n_string[1:])        
        return first_name + ' ' + digit_names(rest)

if __name__ == '__main__':
    import doctest
    doctest.testmod()