Before we get into the specifics of how to create a Python program that checks whether a number is odd or even, it’s essential to understand what these terms mean. An even number is an integer that is “evenly divisible” by 2, i.e., divisible by 2 without leaving a remainder. An odd number, on the other hand, is an integer that is not evenly divisible by 2.

Python, like many other programming languages, offers a straightforward way to check if a number is odd or even using the modulus operator, %. The modulus operator returns the remainder of a division operation. In this context, if a number modulus 2 equals 0, it means the number is even as it can be divided by 2 with no remainder. If the number modulus 2 equals 1, it means the number is odd because dividing by 2 leaves a remainder.

## The Python Code

Let’s write a small Python script to check even or odd:

1 2 3 4 5 6 7 8 | def check_number(num): if num % 2 == 0: print("The number is even.") else: print("The number is odd.") # Test the function check_number(7) |

In this code, we’ve defined a function **check_number(num)** that takes one argument, **num**. The function checks if the modulus of num and 2 equals 0. If it does, it prints **“The number is even.”** Otherwise, it prints **“The number is odd.”**

In the test, we call the function with the argument 7, and the function will print whether 7 is an odd or even number.

## Adding User Input

If you want the user to input the number to check, you can use the **input()** function in Python. The **input()** function reads a line from input (usually from the user), converts the input into a string, and returns it. Since we’re dealing with numbers here, we need to convert this input string into an integer. We can use the **int()** function for this purpose. Here’s how we can modify our code to accept user input:

1 2 3 4 5 6 7 8 9 | def check_number(): num = int(input("Enter a number: ")) if num % 2 == 0: print("The number is even.") else: print("The number is odd.") # Call the function check_number() |

In this version of the program, the function **check_number()** takes no arguments. Instead, it prompts the user to enter a number. It then checks if this number is odd or even, and prints the appropriate message.

## Error Handling

To make our code more robust, we can add some error handling to it. For example, if a user enters something that can’t be converted to an integer, the **int()** function will raise a **ValueError**. We can catch this exception and print an error message:

1 2 3 4 5 6 7 8 9 10 11 12 | def check_number(): try: num = int(input("Enter a number: ")) if num % 2 == 0: print("The number is even.") else: print("The number is odd.") except ValueError: print("That's not a valid number!") # Call the function check_number() |

With this addition, if a user enters something that isn’t a number, the program will print **“That’s not a valid number!”** and avoid a runtime error.

## Conclusion

The ability to check if a number is odd or even is a fundamental operation that’s crucial in many programming scenarios. As shown in this article, Python offers an intuitive and straightforward way to perform this operation using the modulus operator. By taking this basic concept and adding user input and error handling, we can create a simple, robust Python program that can interactively check if a number is odd or even.