Skip to content

Instantly share code, notes, and snippets.

@ivalexandru
Created January 27, 2018 06:55
Show Gist options
  • Save ivalexandru/59d2f7713f5508fb252722971aaafdef to your computer and use it in GitHub Desktop.
Save ivalexandru/59d2f7713f5508fb252722971aaafdef to your computer and use it in GitHub Desktop.
"""We add a Leap Day on February 29, almost every four years. The leap day is an extra, or intercalary day and we add it
to the shortest month of the year, February.
In the Gregorian calendar three criteria must be taken into account 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.
Task
You are given the year, and you have to write a function to check if the year is leap or not.
Note that you have to complete the function and remaining code is given as template.
Input Format
Read y, the year that needs to be checked.
Constraints
1900 <= y <= 10**5
Output Format
Output is taken care of by the template. Your function must return a boolean value (True/False)
Sample Input
1990
Sample Output
False
Explanation
1990 is not a multiple of 4 hence it's not a leap year.
"""
#REZOLVARE
"""For the learners: you should know that doing something like the setup for
this challenge inclines you to do is a bad practice. Never do the following:
def f():
if condition:
return True
else:
return False
This is just dumb. You are returning a boolean, so why even use if blocks in the first place?
The correct what of doing this would be:
"""
#def f():
# return condition
#Because this already evaluates as a boolean.
#So in this challenge, forget about ifs and elses, and that leap variable, and just do the following:
year = 1990
def is_leap(year):
return year % 4 == 0 and (year % 400 == 0 or year % 100 != 0)
print(is_leap(year)) #prints False
"""In the Gregorian calendar three criteria must be taken into account 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."""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment