Contact Us:

670 Lafayette Ave, Brooklyn,
NY 11216

+1 800 966 4564
+1 800 9667 4558

leap year logic

Write a program that works out whether if a given year is a leap year. A normal year has 365 days, leap years have 366, with an extra day in February. The reason why we have leap years is really fascinating, this video does it more justice:

This is how you work out whether if a particular year is a leap year.

on every year that is evenly divisible by 4
**except** every year that is evenly divisible by 100
**unless** the year is also evenly divisible by 400

e.g. The year 2000:

2000 ÷ 4 = 500 (Leap)

2000 ÷ 100 = 20 (Not Leap)

2000 ÷ 400 = 5 (Leap!)

So the year 2000 is a leap year.

But the year 2100 is not a leap year because:

2100 ÷ 4 = 525 (Leap)

2100 ÷ 100 = 21 (Not Leap)

2100 ÷ 400 = 5.25 (Not Leap)

Warning your output should match the Example Output format exactly, even the positions of the commas and full stops.

Example Input 1

2400

Example Output 1

Leap year.

Example Input 2

1989

Example Output 2

Not leap year.
print("Welcome to Leap Year Finder!")
year = int(input("Write a year to check..\n"))
div4by = year % 4
div100by = year % 100
div400by = year % 400
if(div4by == 0 or div100by != 0 and div400by == 0):
  print(f"Year {year} {div4by} {div100by} {div400by} is Leap Year!")
else:
  print(f"Year {year} {div4by} {div100by} {div400by} is Not Leap Year!")
if div4by == 0:
  if div100by == 0:
    if div400by == 0:
      print("Leap year.")
    else:
      print("Not leap year.")
  else:
    print("Leap year.")
else:
  print("Not leap year.")

Hint

  1. Try to visualise the rules by creating a flow chart on www.draw.io
  2. If you really get stuck, you can see the flow chart I created:
0 0 votes
Article Rating

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x