Drill

ProblemsPython › dates

Is it a leap year

easydatesPython

A billing schedule needs to know whether February has 29 days.

is_leap_year(year: int) → bool

Solve it in the editor →

Where you start

def is_leap_year(year: int) -> bool:
    

Worked examples

CallResult
is_leap_year(2024)True
is_leap_year(2023)False
is_leap_year(1900)False
is_leap_year(2000)True

Hint

The 400 rule wins over the 100 rule, which wins over the 4 rule. Order the checks accordingly.

Reference solution in Python
def is_leap_year(year: int) -> bool:
    if year < 1:
        return False
    if year % 400 == 0:
        return True
    if year % 100 == 0:
        return False
    return year % 4 == 0

The same problem in another language

More dates problems in Python