Python Program to Check if a Number is Odd or Even

Problem Description

Write a Python Program to check whether a given number is even or odd.

What is an Even Number?
An even number is an integer that is divisible by 2 without leaving a remainder, such as 2, 4, 6, 8, 10, and so on.

What is an Odd Number?
An odd number is an integer that cannot be divided evenly by 2, leaving a remainder of 1. Examples include 1, 3, 5, 7, 9, and so on.

Problem Solution

There are several ways to check whether a given number is even or odd in Python. Let’s take a detailed look at all the approaches to check whether a given number is even or odd.

Method 1: (Using if-else and Modulus Operator)

In this approach, we check whether a number is even or odd using if-else statement and modulus operator.

Program/Source Code

Here is source code of the Python Program to determine whether a given number is even or odd using modulus operator. The program output is also shown below.

advertisement
advertisement
n = int(input("Enter a number: "))
 
if n % 2 == 0:
    print(n, "is an even number.")
else:
    print(n, "is an odd number.")
Program Explanation

1. Prompt the user to enter a number.
2. Read the input number and store it in a variable n.
3. The program then uses the modulo operator % to check if the number divided by 2 leaves a remainder of 0.
4. If the remainder is 0, it means the number is divisible by 2 and hence even.
5. Otherwise, if the remainder is not 0, it is an odd number.

Time Complexity: O(1)
The time complexity of the program being O(1) indicates that the execution time remains constant, regardless of the input size.

Space Complexity: O(1)
The space complexity of the program being O(1) signifies that the code utilizes a fixed amount of memory to store the input number and other variables, irrespective of the input number’s magnitude.

Note: Join free Sanfoundry classes at Telegram or Youtube
Runtime Test Cases

Test case 1: Here is the runtime output of the program to check whether a number is even or odd when the user enters number = 10.

Enter a number: 10
10 is an even number.

Test case 2: Here is the runtime output of the program to check whether a number is even or odd when the user enters number = 5.

Enter a number: 5
5 is an odd number.

advertisement
Method 2: (Using Bitwise Operator)

In this approach, we check whether a number is even or odd using bitwise operator.

Program/Source Code

Here is source code of the Python Program to determine whether a given number is even or odd using bitwise operator. The program output is also shown below.

n = int(input("Enter a number: "))
 
if n & 1:
    print(n, "is an odd number.")
else:
    print(n, "is an even number.")
Program Explanation

1. In this program, the user is prompted to enter a number.
2. The program then uses the bitwise AND operator (&) with 1 to check the least significant bit of the binary representation of the number.
3. If the result is non-zero, it means the number is odd.
4. Otherwise, if the result is zero, it is an even number.

Time Complexity: O(1)
The time complexity of the code is O(1) since it has a constant number of operations.

advertisement

Space Complexity: O(1)
The space complexity is also O(1) as it uses a fixed amount of memory regardless of the input size.

Runtime Test Cases

Test case 1: Here is the runtime output of the program to check whether a number is even or odd when the user enters number = 6.

Enter a number: 6
6 is an even number.

Test case 2: Here is the runtime output of the program to check whether a number is even or odd when the user enters number = 9.

Enter a number: 9
9 is an odd number.

Method 3: (Using Recursion)

In this approach, we check whether a number is even or odd using recursion.

Program/Source Code

Here is source code of the Python Program to determine whether a given number is even or odd recursively. The program output is also shown below.

def check(n):
    if (n < 2):
        return (n % 2 == 0)
    return (check(n - 2))
n=int(input("Enter number:"))
if(check(n)==True):
      print("Number is even!")
else:
      print("Number is odd!")
Program Explanation

1. User must enter a number and store it in a variable.
2. The number is passed as an argument to a recursive function.
3. The base condition is that the number has to be lesser than 2.
4. Otherwise the function is called recursively with the number minus 2.
5. The result is returned and an if statement is used to check if the number is odd or even.
6. The final result is printed.

Time Complexity: O(n/2)
The time complexity of the code is O(n/2) since the function recursively calls itself n/2 times in the worst case.

Space Complexity: O(n)
The space complexity is O(n) due to the recursive function calls that create a stack frame for each call.

Runtime Test Cases

Test case 1: Here is the runtime output of the program to check whether a number is even or odd when the user enters number = 124.

Enter number:124
Number is even!

Test case 2: Here is the runtime output of the program to check whether a number is even or odd when the user enters number = 567.

Enter number:567
Number is odd!

Method 4: (Using Lambda Function)

In this approach, we check whether a number is even or odd using lambda function

Program/Source Code

Here is source code of the Python Program to determine whether a given number is even or odd using lambda function. The program output is also shown below.

check_number = lambda num: "even" if num % 2 == 0 else "odd"
 
number = int(input("Enter a number: "))
result = check_number(number)
 
print(number, "is an", result, "number.")
Program Explanation

1. Define a lambda function named check_number that takes a parameter num.
2. The lambda function checks if num is divisible by 2 by using the modulo operator %.
3. If the remainder is 0, it returns the string “even”; otherwise, it returns the string “odd”.
4. Prompt the user to enter a number and store it in the variable number using int(input(“Enter a number: “)).
5. Call the lambda function check_number with number as the argument, and store the result in the variable result.
6. Print the number along with the result using the print function, indicating whether it is an odd or even number.
7. Example output: “12 is an even number.” or “17 is an odd number.

Time Complexity: O(1)
The time complexity of the code is O(1) since the lambda function executes in constant time.

Space Complexity: O(1)
The space complexity is also O(1) as it uses a fixed amount of memory regardless of the input size.

Runtime Test Cases

Test case 1: Here is the runtime output of the program to check whether a number is even or odd when the user enters number = 100.

Enter a number: 100
100 is an even number.

Test case 2: Here is the runtime output of the program to check whether a number is even or odd when the user enters number = 55.

Enter a number: 55
55 is an odd number.

To practice programs on every topic in Python, please visit “Programming Examples in Python”.

If you find any mistake above, kindly email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.