w3resource

Python: Find the sublist of numbers with only odd digits in increasing order

Python Programming Puzzles: Exercise-82 with Solution

Write a Python program to find the sublist of numbers from a given list of numbers with only odd digits in increasing order.

Input:
[1, 3, 79, 10, 4, 2, 39]
Output:
[1, 3, 39, 79]

Input:
[11, 31, 40, 68, 77, 93, 48, 1, 57]
Output:
[1, 11, 31, 57, 77, 93]

Input:
[9, -2, 3, 4, -2, 0, 2, -3, 8, -1]
Output:
[-3, -1, 3, 9]

Visual Presentation:

Python: Find the sublist of numbers with only odd digits in increasing order.

Sample Solution:

Python Code:

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

# Define a function named 'test' that takes a list of numbers 'nums' as input
def test(nums):
    # Use a list comprehension to filter numbers with only odd digits and sort them in increasing order
    return sorted(n for n in nums if all(int(c) % 2 for c in str(abs(n))))

# Example 1
nums1 = [1, 3, 79, 10, 4, 2, 39]
print("Original list of numbers:")
print(nums1)
print("Sublist of numbers with only odd digits in increasing order:")
print(test(nums1))

# Example 2
nums2 = [11, 31, 40, 68, 77, 93, 48, 1, 57]
print("\nOriginal list of numbers:")
print(nums2)
print("Sublist of numbers with only odd digits in increasing order:")
print(test(nums2))

# Example 3
nums3 = [9, -2, 3, 4, -2, 0, 2, -3, 8, -1]
print("\nOriginal list of numbers:")
print(nums3)
print("Sublist of numbers with only odd digits in increasing order:")
print(test(nums3))

Sample Output:

Original list of numbers:
[1, 3, 79, 10, 4, 2, 39]
Sublist of numbers of the said list with only odd digits in increasing order:
[1, 3, 39, 79]

Original list of numbers:
[11, 31, 40, 68, 77, 93, 48, 1, 57]
Sublist of numbers of the said list with only odd digits in increasing order:
[1, 11, 31, 57, 77, 93]

Original list of numbers:
[9, -2, 3, 4, -2, 0, 2, -3, 8, -1]
Sublist of numbers of the said list with only odd digits in increasing order:
[-3, -1, 3, 9]

Flowchart:

Flowchart: Python - Find the sublist of numbers with only odd digits in increasing order.

Python Code Editor :

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

Previous: Calculate the average of the numbers a through b rounded to nearest integer, in binary.
Next: Find two indices making a given string unhappy.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/python-exercises/puzzles/python-programming-puzzles-82.php