Python Basic: Exercise-21 with Solution
Write a Python program to find whether a given number [accept from the user] is even or odd, print out an appropriate message to the user.
Pictorial Presentation of Even Numbers:
Pictorial Presentation of Odd Numbers:
Sample Solution:-
Python Code:
num = int[input["Enter a number: "]]
mod = num % 2
if mod > 0:
print["This is an odd number."]
else:
print["This is an even number."]
Sample Output:
Enter a number: 5 This is an odd number.
Even Numbers between 1 to 100:
Odd Numbers between 1 to 100:
Flowchart:
Visualize Python code execution:
The following tool visualize what the computer is doing step-by-step as it executes the said program:
Python Code Editor:
Have another way to solve this solution? Contribute your code [and comments] through Disqus.
Previous: Write a Python program to get a string which is n [non-negative integer] copies of a given string.
Next:
Write a Python program to count the number 4 in a given list.
Given a list of numbers, write a Python program to count Even and Odd numbers in a List. Example:
Input: list1 = [2, 7, 5, 64, 14] Output: Even = 3, odd = 2 Input: list2 = [12, 14, 95, 3] Output: Even = 2, odd = 2
Example 1: count Even and Odd numbers from given list using for loop Iterate each element in the list using for loop and check if num % 2 == 0, the condition to check even numbers. If the condition satisfies, then increase even count else increase odd count.
Python3
list1
=
[
10
,
21
,
4
,
45
,
66
,
93
,
1
]
even_count, odd_count
=
0
,
0
for
num
in
list1:
if
num
%
2
=
=
0
:
even_count
+
=
1
else
:
odd_count
+
=
1
print
[
"Even numbers in the list: "
, even_count]
print
[
"Odd numbers in the list: "
, odd_count]
Output:
Even numbers in the list: 3 Odd numbers in the list: 4
Example 2: Using while loop
Python3
list1
=
[
10
,
21
,
4
,
45
,
66
,
93
,
11
]
even_count, odd_count
=
0
,
0
num
=
0
while
[num <
len
[list1]]:
if
list1[num]
%
2
=
=
0
:
even_count
+
=
1
else
:
odd_count
+
=
1
num
+
=
1
print
[
"Even numbers in the list: "
, even_count]
print
[
"Odd numbers in the list: "
, odd_count]
Output:
Even numbers in the list: 3 Odd numbers in the list: 4
Example 3 : Using Python Lambda Expressions
Python3
list1
=
[
10
,
21
,
4
,
45
,
66
,
93
,
11
]
odd_count
=
len
[
list
[
filter
[
lambda
x: [x
%
2
!
=
0
] , list1]]]
even_count
=
len
[
list
[
filter
[
lambda
x: [x
%
2
=
=
0
] , list1]]]
print
[
"Even numbers in the list: "
, even_count]
print
[
"Odd numbers in the list: "
, odd_count]
Output:
Even numbers in the list: 3 Odd numbers in the list: 4
Example 4 : Using List Comprehension
Python3
list1
=
[
10
,
21
,
4
,
45
,
66
,
93
,
11
]
only_odd
=
[num
for
num
in
list1
if
num
%
2
=
=
1
]
odd_count
=
len
[only_odd]
print
[
"Even numbers in the list: "
,
len
[list1]
-
odd_count]
print
[
"Odd numbers in the list: "
, odd_count]
Output:
Even numbers in the list: 3 Odd numbers in the list: 4
Example 5: Using Recursion
Python3
even_count
=
0
i
=
0
odd_count
=
0
def
evenoddcount[lst]:
global
even_count
global
odd_count
global
i
if
lst[i]
%
2
=
=
0
:
even_count
+
=
1
else
:
odd_count
+
=
1
if
i
in
range
[
len
[lst]
-
1
]:
i
+
=
1
evenoddcount[lst]
else
:
print
[
"Even numbers in the list: "
, even_count]
print
[
"Odd numbers in the list: "
, odd_count]
list1
=
[
10
,
21
,
4
,
45
,
66
,
93
,
1
]
evenoddcount[list1]
Output
Even numbers in the list: 3 Odd numbers in the list: 4
Example 6: Using Bitwise XOR operator
The idea is to check whether the last bit of the number is set or not. If the last bit is set then the number is odd, otherwise even. As we know bitwise XOR Operation of the Number by 1 increments the value of the number by 1 if the number is even otherwise it decrements the value of the number by 1 if the value is odd.
CHECK IF NUMBER IS EVEN OR ODD USING XOR OPERATOR
Python3
list1
=
[
10
,
21
,
4
,
45
,
66
,
93
,
1
]
even_count, odd_count
=
0
,
0
for
num
in
list1:
if
num ^
1
=
=
num
+
1
:
even_count
+
=
1
else
:
odd_count
+
=
1
print
[
"Even numbers in the list: "
, even_count]
print
[
"Odd numbers in the list: "
, odd_count]
Output
Even numbers in the list: 3 Odd numbers in the list: 4
Example 7: Using Bitwise AND operator
The idea is to check whether the last bit of the number is set or not. If the last bit is set then the
number is odd, otherwise even.
As we know bitwise AND Operation of the Number by 1 will be 1, If it is odd because the last bit will be already set. Otherwise, it will give 0 as output.
Python3
list1
=
[
10
,
21
,
4
,
45
,
66
,
93
,
1
]
even_count, odd_count
=
0
,
0
for
num
in
list1:
if
not
num &
1
:
even_count
+
=
1
else
:
odd_count
+
=
1
print
[
"Even numbers in the list: "
, even_count]
print
[
"Odd numbers in the list: "
, odd_count]
Output
Even numbers in the list: 3 Odd numbers in the list: 4
Example 8: Using Bitwise OR operator
The idea is to check whether the last bit of the number is set or not. If the last bit is set then the number is odd, otherwise even. As we know bitwise OR Operation of the Number by 1 increments the value of the number by 1 if the number is even otherwise it will remain unchanged. So, if after OR operation of number with 1 gives a result which is greater than the number then it is even and we will return true otherwise it is odd and we will return false.
Python3
list1
=
[
10
,
21
,
4
,
45
,
66
,
93
,
1
]
even_count, odd_count
=
0
,
0
for
num
in
list1:
if
num |
1
> num:
even_count
+
=
1
else
:
odd_count
+
=
1
print
[
"Even numbers in the list: "
, even_count]
print
[
"Odd numbers in the list: "
, odd_count]
Output
Even numbers in the list: 3 Odd numbers in the list: 4
Method: Using the enumerate function
Python3
lst
=
[
12
,
14
,
95
,
3
];c
=
0
;c1
=
0
for
i,a
in
enumerate
[lst]:
if
a
%
2
=
=
0
:
c
+
=
1
else
:
c1
+
=
1
print
[
"even number count"
,c,
"odd number count"
,c1]
Output
even number count 2 odd number count 2
Auxiliary Space: O[1]