Questions
This review is not comprehensive of all content that will be on the final exam, but rather provides a few extra practice questions. Previous quizzes/practice questions are also valuable in reviewing for the final exam. Lecture videos are another valuable resource.
Solutions for each problem can be found at the bottom of this page. Keep in mind that there may be multiple solutions to each problem.
Function Writing
Write a function called
free_biscuits. Given a dictionary withstrkeys (representing basketball games) andlist[int]values (representing points scored by players),free_biscuitsshould return a new dictionary of typedict[str, bool]that maps each game to a boolean value for free biscuits. (Trueif the points add up to 100+,Falseif otherwise)
Example:free_biscuits({ “UNCvsDuke”: [38, 20, 42] , “UNCvsState”: [9, 51, 16, 23] })should return{ “UNCvsDuke”: True, “UNCvsState”: False }.Write a function called
max_key. Given a dictionary withstrkeys andlist[int]values, return astrwith the name of the key whose list has the highest sum of values. Example:max_key({"a": [1,2,3], "b": [4,5,6]})should return"b"because the sum ofa’s elements is 1 + 2 + 3 = 6 and the sum ofb’s elements is 4 + 5 + 6 = 15, and 15 > 6.Write a function called
multiples. Given alist[int],multiplesshould return alist[bool]that tells whether eachintvalue is a multiple of the previous value. For the first number in the list, you should wrap around the list and compare thisintto the last number in the list.
Example:multiples([2, 3, 4, 8, 16, 2, 4, 2])should return[True, False, False, True, True, False, True, False].Write a function called
merge_lists. Given alist[str]and alist[int],merge_listsshould return adict[str, int]that maps each item in the first list to its corresponding item in the second (based on index). If the lists are not the same size, the function should return an empty dictionary.
Example:merge_lists([“blue”, “yellow”, “red”], [5, 2, 4])should return{"blue": 5, "yellow": 2, "red": 4}.Write a function called
reverse_multiply. Given alist[int],reverse_multiplyshould return alist[int]with the values from the original list doubled and in reverse order.
Example:reverse_multiply([1, 2, 3])should return[6, 4, 2].
Class Writing
- Create a class called
HotCocoawith the following specifications:- Each
HotCocoaobject has aboolattribute calledhas_whip, astrattribute calledflavor, and twointattributes calledmarshmallow_countandsweetness. - The class should have a constructor that takes in and sets up each of its attribute’s values.
- Write a method called
mallow_adderthat takes in anintcalledmallows, increases themarshmallow_countby that amount, and increases thesweetnessby that amount times 2. - Write a method called
calorie_countthat returns afloat. If theflavorof theHotCocoais “vanilla” or “peppermint”, increase the calorie count by 30, otherwise increase it by 20. If theHotCocoahas whipped cream (has_whipisTrue), increase the calorie count by 100. Finally, increase the calorie count by half the number of marshmallows. The calorie count should be calculated and returned when this method is called.
- Each
- Create a class called
TimeSpentwith the following specifications:- Each
TimeSpentobject has astrattribute calledname, astrattribute calledpurpose, and anintattribute calledminutes. - The class should have a constructor that takes in and sets up each of its attribute’s values.
- Write a method called
add_timethat takes in anintand increases theminutesattribute by this amount. The method should returnNone. - Write a method called
resetthat resets the amount of time that is stored in theminutesattribute. The method should return the amount that was stored inminutes. - Write a method called
reportthat prints a line reporting information about the currentTimeSpentobject. Suppose aTimeSpentobject hasname=“Ariana”,purpose=“screen time”, andminutes=130. The report method should print:“Ariana has spent 2 hours and 10 minutes on screen time.”
- Each






