HackerRankInterview QuestionsPythonPython Interview

HackerRank Write a function problem solution in python | Python Question Solution


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. Source

 

Task

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 , the year to test.

 

Constraints

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.

Problem solution in Python 2 programming.

def is_leap(year):
leap = False

# Write your logic here
if (year % 100 == 0) and (year %400 != 0):
leap = False
elif (year % 4 == 0):
leap = True 

return leap

 

Problem solution in Python 3 programming.

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

return leap

Problem solution in pypy programming.

def is_leap(year):
if year%4!=0:
return False
if year%100==0:
if year%400==0:
return True
return False
return False

Problem solution in pypy3 programming.

def is_leap(year):
leap = False
if year%4:
return False
elif year%100:
return True
elif year%400:
return False
else:
return True

Leave a ReplyCancel reply

Exit mobile version