In this article, we will show you, How to write a Python Program to Count Even and Odd Numbers in a List using For Loop, While Loop, and Functions with practical example.

Before you start, please refer List article to understand everything about Lists.

## Python Program to Count Even and Odd Numbers in a List using For Loop

In this python program, we are using For Loop to iterate each and every element in a given List. Inside the loop we are using If statement to check and count Even and odd numbers.

# Python Program to Count Even and Odd Numbers in a List NumList = [] Even_count = 0 Odd_count = 0 Number = int(input("Please enter the Total Number of List Elements: ")) for i in range(1, Number + 1): value = int(input("Please enter the Value of %d Element : " %i)) NumList.append(value) for j in range(Number): if(NumList[j] % 2 == 0): Even_count = Even_count + 1 else: Odd_count = Odd_count + 1 print("\nTotal Number of Even Numbers in this List = ", Even_count) print("Total Number of Odd Numbers in this List = ", Odd_count)

**OUTPUT**

**ANALYSIS**

User entered elements = [2, 3, 5, 7], Even_count = 0, Odd_count = 0

**For Loop – First Iteration: **for 0 in range(0, 4)

The condition is True so, compiler will enter into the If Statement

if(NumList[0] % 2 == 0) => if(2 % 2 == 0) – Condition is True

Even_count = Even_count + 1 => 0 + 1 = 1

**Second Iteration:** for 1 in range(0, 4) – Condition is True

if(NumList[1] % 2 == 0) => if(3 % 2 == 0) – Condition is False

Compiler will enter into the Else block.

Odd_count = Odd_count + 1 => 0 + 1 = 1

**Third Iteration:** for 2 in range(0, 4) – Condition is True

if(NumList[2] % 2 == 0) => if(5 % 2 == 0) – Condition is False

Compiler will enter into the Else block.

Odd_count = 1 + 1 = 2

**Fourth Iteration:** for 3 in range(0, 4) – Condition is True

if(7 % 2 == 0) – Condition is False

Compiler will enter into the Else block.

Odd_count = 2 + 1 = 3

**Fifth Iteration:** for 4 in range(4) – Condition is False

So compiler will exit from For Loop

## Python Program to Count Even and Odd Numbers in a List using While loop

This program for counting even and odd numbers is same as above. We just replaced the For Loop with While loop.

# Python Program to Count Even and Odd Numbers in a List NumList = [] Even_count = 0 Odd_count = 0 j = 0 Number = int(input("Please enter the Total Number of List Elements: ")) for i in range(1, Number + 1): value = int(input("Please enter the Value of %d Element : " %i)) NumList.append(value) while(j < Number): if(NumList[j] % 2 == 0): Even_count = Even_count + 1 else: Odd_count = Odd_count + 1 j = j + 1 print("\nTotal Number of Even Numbers in this List = ", Even_count) print("Total Number of Odd Numbers in this List = ", Odd_count)

**OUTPUT**

## Python Program to Count Even and Odd Numbers in a List using Functions

This program is same as first example. However, we separated the logic using Functions

# Python Program to Count Even and Odd Numbers in a List def count_even(NumList): Even_count = 0 for j in range(Number): if(NumList[j] % 2 == 0): Even_count = Even_count + 1 return Even_count def count_odd(NumList): Odd_count = 0 for j in range(Number): if(NumList[j] % 2 != 0): Odd_count = Odd_count + 1 return Odd_count NumList = [] Number = int(input("Please enter the Total Number of List Elements: ")) for i in range(1, Number + 1): value = int(input("Please enter the Value of %d Element : " %i)) NumList.append(value) even_cnt = count_even(NumList) odd_cnt = count_odd(NumList) print("\nTotal Number of Even Numbers in this List = ", even_cnt) print("Total Number of Odd Numbers in this List = ", odd_cnt)

**OUTPUT**