Part of the series

Several example codes

~2 min read • Updated Oct 4, 2025

Program Overview

This Python program reads a number from the user and separates its digits into two groups: odd and even.
It then calculates and displays the average of each group separately.
If there are no odd or even digits, a message is shown instead of performing the division.


Python Code:


# Read number from user
num = input("Enter a number: ")

odd_digits = []
even_digits = []

# Separate digits
for ch in num:
    digit = int(ch)
    if digit % 2 == 0:
        even_digits.append(digit)
    else:
        odd_digits.append(digit)

# Calculate averages
if odd_digits:
    avg_odd = sum(odd_digits) / len(odd_digits)
    print("Average of odd digits:", avg_odd)
else:
    print("No odd digits found.")

if even_digits:
    avg_even = sum(even_digits) / len(even_digits)
    print("Average of even digits:", avg_even)
else:
    print("No even digits found.")

Sample Output (for input 2591):


Average of odd digits: 5.0  
Average of even digits: 2.0

Step-by-Step Explanation:

- The input is treated as a string to iterate over each digit
- Digits are classified as odd or even using % 2
- Averages are calculated using sum() / len() for each group
- If a group is empty, a message is printed instead of dividing by zero


Written & researched by Dr. Shahin Siami