How do you find the sum of even and odd numbers in python?

The following article shows how given an integer list, we can produce the sum of all its odd and even digits.

Input : test_list = [345, 893, 1948, 34, 2346] 
Output : 
Odd digit sum : 36 
Even digit sum : 40 
Explanation : 3 + 5 + 9 + 3 + 1 + 9 + 3 + 3 = 36, odd summation.
Input : test_list = [345, 893] 
Output : 
Odd digit sum : 20 
Even digit sum : 12 
Explanation : 4 + 8 = 12, even summation. 

Method 1 : Using loop, str() and int()

In this, we first convert each element to string and then iterate for each of its element, and add to respective summation by conversion to integer.

Python3

test_list = [345, 893, 1948, 34, 2346]

print("The original list is : " + str(test_list))

odd_sum = 0

even_sum = 0

for sub in test_list:

    for ele in str(sub):

        if int(ele) % 2 == 0:

            even_sum += int(ele)

        else:

            odd_sum += int(ele)

print("Odd digit sum : " + str(odd_sum))

print("Even digit sum : " + str(even_sum))

Output

The original list is : [345, 893, 1948, 34, 2346]
Odd digit sum : 36
Even digit sum : 40

Method 2: Using loop and sum()

In this, we perform task of getting summation using sum(), and loop is used to perform the task of iterating through each element.

Python3

test_list = [345, 893, 1948, 34, 2346]

print("The original list is : " + str(test_list))

odd_sum = 0

even_sum = 0

for sub in test_list:

    odd_sum += sum([int(ele) for ele in str(sub) if int(ele) % 2 == 1])

    even_sum += sum([int(ele) for ele in str(sub) if int(ele) % 2 == 0])

print("Odd digit sum : " + str(odd_sum))

print("Even digit sum : " + str(even_sum))

Output

The original list is : [345, 893, 1948, 34, 2346]
Odd digit sum : 36
Even digit sum : 40

Method 3: Using list comprehension 

Python3

test_list = [345, 893, 1948, 34, 2346]

odd_sum = 0

even_sum = 0

odd_sum += sum([int(ele)

                for sub in test_list for ele in str(sub) if int(ele) % 2 == 1])

even_sum += sum([int(ele)

                 for sub in test_list for ele in str(sub) if int(ele) % 2 == 0])

print("Odd digit sum : " + str(odd_sum))

print("Even digit sum : " + str(even_sum))

Output

Odd digit sum : 36
Even digit sum : 40

Method 4: Using the enumerate function

Python3

test_list = [345, 893, 1948, 34, 2346]

odd_sum = 0

even_sum = 0

odd_sum += sum([int(ele) for i, sub in enumerate(test_list)

                for ele in str(sub) if int(ele) % 2 == 1])

even_sum += sum([int(ele) for i, sub in enumerate(test_list)

                 for ele in str(sub) if int(ele) % 2 == 0])

print("Odd digit sum : " + str(odd_sum))

print("Even digit sum : " + str(even_sum))

Output

Odd digit sum : 36
Even digit sum : 40


How do you print the sum of even and odd numbers in Python?

Input : test_list = [345, 893, 1948, 34, 2346] Output : Odd digit sum : 36 Even digit sum : 40 Explanation : 3 + 5 + 9 + 3 + 1 + 9 + 3 + 3 = 36, odd summation. Input : test_list = [345, 893] Output : Odd digit sum : 20 Even digit sum : 12 Explanation : 4 + 8 = 12, even summation.

How do you find the sum of odd numbers in Python?

Use the following steps to find or calculate sum of odd number from 1 to n in python:.
Take the input number from 1 to that user-entered value..
Define a variable, which name total..
Iterate for loop and check each number using num%2 != ... .
If the number is odd, so add the number into total variable..
Print the sum of odd number..

How do you find the sum of even numbers in Python?

Python program to calculate sum of even numbers using for loop. In the given program, we first take user input to enter the maximum limit value. Then, we have used the for loop to calculate the sum of even numbers from 1 to that user-entered value.

How do you find odd and even numbers in Python?

Also, if…else statements will be used. The required code is provided below. num = int (input (“Enter any number to test whether it is odd or even: “) if (num % 2) == 0: print (“The number is even”) else: print (“The provided number is odd”) Output: Enter any number to test whether it is odd or even: 887 887 is odd.