Sai A
Updated date Nov 01, 2023
In this blog, we will learn how to identify leap years in Python with easy-to-follow methods and a clear explanation. This blog provides two methods to check for leap years, complete with sample programs and outputs.

## Introduction:

Leap years are those special years that have an extra day, February 29th. They occur once every four years and play a crucial role in keeping our calendar in sync with the Earth's orbit around the sun. However, determining whether a year is a leap year or not can sometimes be a bit tricky, especially when you need to do it in a programming language like Python. In this blog, we will explore two simple methods to check for leap years in Python.

## Method 1: Using the IF-ELSE statement

The first method to check if a year is a leap year in Python is by using conditional statements, specifically the `if-else` statement. Let's write a Python program that checks if a given year is a leap year or not using this method.

``````def is_leap_year(year):
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
return True
else:
return False

# Input year
year = int(input("Enter a year: "))

if is_leap_year(year):
print(year, "is a leap year.")
else:
print(year, "is not a leap year.")
``````

### Output:

``````Enter a year: 2020
2020 is a leap year.
``````

In Method 1, we define a Python function named `is_leap_year` that takes a year as its parameter. Inside the function, we use an `if-else` statement to check if the given year meets the criteria for being a leap year.

The conditions for a leap year are:

• The year must be divisible by 4.
• It should not be divisible by 100, except if it is also divisible by 400.

In Python, we use the modulus operator `%` to check for divisibility. If a year meets these conditions, the function returns `True`, indicating that it is a leap year. Otherwise, it returns `False`.

The program then takes input from the user, checks if the input year is a leap year using the `is_leap_year` function, and provides the corresponding output.

## Method 2: Using Python's `calendar` Module

Python's `calendar` module provides a more elegant and concise way to check for leap years. This module includes the `isleap()` function, which returns `True` for leap years and `False` for non-leap years. Here's a Python program that demonstrates this method:

``````import calendar

# Input year
year = int(input("Enter a year: "))

if calendar.isleap(year):
print(year, "is a leap year.")
else:
print(year, "is not a leap year.")
``````

### Output:

``````Enter a year: 2024
2024 is a leap year.
``````

In Method 2, we import the `calendar` module, which provides various functions related to calendars, including `isleap()`. This function takes a year as an argument and returns `True` if the year is a leap year and `False` otherwise. It simplifies the leap year checking process significantly.

The program follows a similar structure as Method 1 but uses the `calendar.isleap()` function for the leap year check, making the code more concise and readable.

## Method 3: Using divmod() function

You can use the `divmod()` function, which returns both the quotient and the remainder of the division. If the remainder is zero and the quotient is not zero, it's a leap year. Here's how to do it:

``````# Input year
year = int(input("Enter a year: "))

quotient, remainder = divmod(year, 4)

if remainder == 0 and quotient != 0:
print(year, "is a leap year.")
else:
print(year, "is not a leap year.")
``````

### Output:

``````Enter a year: 2028
2028 is a leap year.
``````

In this method, we use the `divmod()` function, which takes two arguments: the number to be divided and the divisor. It returns a tuple containing the quotient and the remainder. By dividing the input year by 4, we can quickly determine whether it's a leap year by checking if the remainder is zero and the quotient is not zero.

## Conclusion:

In this blog, we have explored different methods to check for leap years in Python. Leap years are essential for maintaining our calendar's accuracy and ensuring that our dates align with the Earth's orbit. We discussed two primary methods to identify leap years and even introduced an additional method using the `divmod()` function.

Method 1 relied on conditional statements and the modulus operator to determine leap years, providing a clear and easy-to-follow approach. Method 2, on the other hand, showcased the use of Python's built-in `calendar` module, simplifying the process with the `isleap()` function. The last method (Method 3) demonstrated how to use `divmod()` for the same purpose, offering an alternative option.