Review Exercise
Overview
Teaching: 0 min
Exercises: 20 minQuestions
How can we put together all of yesterday’s material?
Objectives
Apply use of functions, conditionals and loops to solve a problem.
Review From Yesterday
In your notebook, write a function that determines whether a year between 1901 and 2000 is a leap year, where it prints a message like “1904 is a leap year” or “1905 is not a leap year” as output. Use this function to evaluate the years 1928, 1950, 1959, 1972 and 1990. Essentially, given this list of years:
years = [1928, 1950, 1959, 1972, 1990]
Produce something like:
1928 is a leap year 1950 is not a leap year. 1959 is not a leap year. 1972 is a leap year 1990 is not a leap year.
8 mod 4 equals 0 10 mod 4 equals 2
If you’re not sure where to start, see the partial answers below:
Suggested Approach
First, try to determine how to use the mod operator
%
to determine if a year is divisible by 4 (and thus a leap year or not).Then, create a conditional statement to use this information, and put it into a function.
Finally, create a list of the years given in the exercise. Use a for loop and your function to evaluate these years.
Modular Arthimetic
If a year in the range specified is divisible by four, it is a leap year. If a number is divisible by 4, then the arithmetic expression “number mod four” (or
num % 4
in Python) will equal zero.Conditional Statement
Fill in the blanks:
year = 1904 if year % 4 == _____: print(year, _______________) ______: print(year, "is not a leap year.")
Function
Fill in the blanks:
def leap_year(year): _________
Loop
Fill in the blanks:
year_list = [1928, 1950, 1959, 1972, 1990] for year in ______: ________(year)
Complete Solution
def leap_year(year): if year % 4 == 0: print(year, "is a leap year") else: print(year, "is not a leap year.") year_list = [1928, 1950, 1959, 1972, 1990] for year in year_list: leap_year(year)
If you have time:
Expand your function so that it correctly categorizes any year from 0 onwards
Instead of printing whether a year is a leap year or not, save the results to a python dictionary, where there are two keys (“leap” and “not-leap”) and the values are a list of years.
Key Points
Use skills together.