""" 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()