Leap year

Leap year

Is it a leap year?

In 1582 the Gregorian calendar was introduced. Our planet takes approximately 365.25 days to orbit the sun once. It's that .25 that creates the need for a leap year every four years. During non-leap years (common years) the calendar doesn't take into account the extra quarter of a day required by Earth to complete a single orbit. In leap years there are 29 days in February instead of 28.

Make


Write a program to say whether the year entered by a user is a leap year or not. Any year exactly divisible by four is usually a leap year unless it is also divisible by one hundred. The exception is that all years divisible by four hundred are always leap years.

Use this boilerplate code as a starting point:

Success Criteria

Remember to add a comment before a subprogram, selection or iteration statement to explain its purpose.

Complete the subprogram called `is_leap_year` that:

  1. Returns True if the year is a leap year or False if it is not.
  2. If the year is exactly divisible by four it is a leap year...
  3. ...unless it is divisible by one hundred in which case it is not a leap year...
  4. ...although any year that is divisible by four hundred is a leap year.

Complete the `main program` so that:

  1. The user can input a year.
  2. It outputs whether the year is a leap year or not.

Typical inputs and outputs from the program would be:

Enter a year: 1900

1900 is not a leap year.


Enter a year: 2000

2000 is a leap year.


Enter a year: 2022

2022 is not a leap year.


Enter a year: 2024

2024 is a leap year.

Knowledge Organiser

Use these resources as a reference to help you meet the success criteria.

Programming guide:

Evaluate


Run the unit tests below to check that your program has met the success criteria.

Enter a year: 1900

1900 is not a leap year.

Enter a year: 2000

2000 is a leap year.

Enter a year: 2026

2026 is not a leap year.

Enter a year: 2028

2028 is a leap year.

Check that you have:

  • Used comments within the code to describe the purpose of subprograms, conditions and iterations.
  • Used meaningful identifier names. That means the names of subprograms and variables indicate what they are for.