w3resource

Python: Single digits in numbers sorted backwards and converted to English words


Single Digits to English Words in Reverse Order

Write a Python program to get the single digits in numbers sorted backwards and converted into English words.

Input: 
[1, 3, 4, 5, 11]
Output:
['five', 'four', 'three', 'one']

Input: 
[27, 3, 8, 5, 1, 31]
Output:
['eight', 'five', 'three', 'one']

Visual Presentation:

Python: Single digits in numbers sorted backwards and converted to English words.

Sample Solution:

Python Code:

# License: https://bit.ly/3oLErEI

# Function to convert single-digit numbers in a list to English words,
# sort them backwards, and return the result
def test(nums):
    # Dictionary mapping English words to their corresponding digits
    digits = {
        "zero": None,
        "one": 1,
        "two": 2,
        "three": 3,
        "four": 4,
        "five": 5,
        "six": 6,
        "seven": 7,
        "eight": 8,
        "nine": 9
    }
    
    # Create a reverse dictionary mapping digits to their corresponding English words
    digits_backwards = {digits[k]: k for k in digits}
    
    # Convert the original dictionary values to a list
    digits = [digits[s] for s in digits]
    
    # Extract single-digit numbers from the input list and convert them to English words
    li = [digits[n] for n in nums if n in digits]
    
    # Return the sorted list of English words corresponding to the digits
    return [digits_backwards[n] for n in sorted(li, reverse=True)]

# Test cases with different lists of numbers
nums = [1, 3, 4, 5, 11]
print("Original list of numbers:")
print(nums)
print("Return the single digits in nums sorted backwards and converted to English words:")
print(test(nums))

nums = [27, 3, 8, 5, 1, 31]
print("\nOriginal list of numbers:")
print(nums)
print("Return the single digits in nums sorted backwards and converted to English words:")
print(test(nums))

Sample Output:

Original list of numbers:
[1, 3, 4, 5, 11]
Return the single digits in nums sorted backwards and converted to English words:
['five', 'four', 'three', 'one']

Original list of numbers:
[27, 3, 8, 5, 1, 31]
Return the single digits in nums sorted backwards and converted to English words:
['eight', 'five', 'three', 'one']

Flowchart:

Flowchart: Python - Single digits in numbers sorted backwards and converted to English words.

For more Practice: Solve these Related Problems:

  • Write a Python program to convert single-digit numbers in a list to their English words and then output the words in reverse order.
  • Write a Python program to map each digit from a list to its English name, remove duplicates, and reverse the order of the resulting list.
  • Write a Python program to use a dictionary mapping to convert single digits to words and then reverse the sequence of these words.
  • Write a Python program to extract single-digit numbers, translate them into English words, and return the reversed order of the resulting words.

Go to:


Previous: Find a palindrome of a given length containing a given string.
Next: Strange sort of list of numbers.

Python Code Editor :

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.