Logic Building
def print_digit_word(digit):
words = ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
return words[digit]
def digits_in_words(n):
# Base case
if n == 0:
return
# Recursive case
digits_in_words(n // 10)
digit = n % 10
print(print_digit_word(digit), end=" ")
# Test
num = int(input("Enter a number: "))
digits_in_words(abs(num))
print()Output
Enter a number: 123 One Two Three
Recurse first, then print current digit.
Key Concepts:
- Recurse on remaining digits first
- Print current digit word after recursion
- Processes digits left to right