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.
Craig'n'Dave logo

Craig ‘n’ Dave

In partnership with

Mission Encodeable
Bett Awards 2024 Finalist