# Write a Function in Python | HackerRank Solution

Hey coders, today we will be solving Write a Function Hacker Rank Solution in Python.

## Problem

An extra day is added to the calendar almost every four years as February 29, and the day is called a leap day. It corrects the calendar for the fact that our planet takes approximately 365.25 days to orbit the sun. A leap year contains a leap day.

In the Gregorian calendar, three conditions are used to identify leap years:

• The year can be evenly divided by 4, is a leap year, unless:
• The year can be evenly divided by 100, it is NOT a leap year, unless:
• The year is also evenly divisible by 400. Then it is a leap year.

This means that in the Gregorian calendar, the years 2000 and 2400 are leap years, while 1800, 1900, 2100, 2200, 2300 and 2500 are NOT leap years.

Given a year, determine whether it is a leap year. If it is a leap year, return the Boolean True, otherwise return False.

Note that the code stub provided reads from STDIN and passes arguments to the is_leap function. It is only necessary to complete the is_leap function.

## Input Format

Read year, the year to test.

## Constraints

1900 <= year <= 10^5

## Output Format

The function must return a Boolean value (True/False). Output is handled by the provided code stub.

Sample Input 0

``1990``

Sample Output 0

``False``

Explanation 0

1990 is not a multiple of 4 hence it’s not a leap year.

## Solution – Write a Function in Python – Hacker Rank Solution

```def is_leap(year):
leap = False

if (year % 400 == 0):
return True
if (year % 100 == 0):
return leap
if (year % 4 == 0):
return True
else:
return False

return leap

year = int(input())
print(is_leap(year))```

Disclaimer: The above Problem (Write a Function) is generated by Hacker Rank but the Solution is provided by CodingBroz. This tutorial is only for Educational and Learning Purposes.

### 5 thoughts on “Write a Function in Python | HackerRank Solution”

1. What is leap = false in this code? And why have you returned leap in the second conditional?

2. def leap_year(year):
if(year%4==0 and year%400==0 ):
print(“leap year”)
else:
print(“not”)
year=int(input())
print(leap_year(year))

3. leap value assigned to “false” by default (before checking the given year).
So in this case returning “false” or leap in the second conditional doesn’t make any difference.

I understand the intention of the code block as it fullfils the exact requirement of the given task, but the check for the leap year could be following:

def is_leap(year):
leap = False
if (year % 400 == 0):
return True
else:
return False
return leap
year = int(input())
print(is_leap(year))

4. For this problem we can also use simple if statement in it.
def is_leap(year):
if (year % 400 == 0):
return True
elif (year % 100 == 0):
return leap
elif (year % 4 == 0):
return True

return False

year = int(input())
print(is_leap(year))

5. def is_leap(year):
leap = False