Program to Convert Digit/Number to Words in Python
Converting Numbers to Words
Converting a number to words is a common problem in programming.
We will explore three different methods to achieve this in Python.
Method 1: Using Dictionaries
This method utilizes a dictionary to map digits to their word equivalents.
def convert_to_words(num): digit_map = {0: "Zero", 1: "One", 2: "Two", 3: "Three", 4: "Four", 5: "Five", 6: "Six", 7: "Seven", 8: "Eight", 9: "Nine"} print(digit_map.get(num, "Invalid input")) num = int(input("Enter a single-digit number: ")) convert_to_words(num)
Output: Five
Method 2: Using String Manipulation
This method handles multi-digit numbers using iteration.
def convert_to_words(num): digit_map = ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"] for digit in str(num): print(digit_map[int(digit)], end=" ") num = int(input("Enter a number: ")) convert_to_words(num)
Output: One Two Three
Method 3: Using Recursion
This method recursively processes each digit.
digit_map = ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"] def convert_to_words_recursive(num): if num == 0: return convert_to_words_recursive(num // 10) print(digit_map[num % 10], end=" ") num = int(input("Enter a number: ")) if num == 0: print("Zero") else: convert_to_words_recursive(num)
Output: Five Zero Seven