check9.txt Edit this file and then submit it to autolab. Be sure to watch the videos very carefully, and not just skip ahead to the parts required to answer these questions! Be *very brief* in your answers! Seriously. Brief. --------------------------------------------------------------------- 1. Your full name and andrew id: 2. The full names and andrew ids of your groupmates, if you worked in a group. 3. Dates/times that you watched the videos listed in check9.html (fill this out as you go): 4. Total time this check required (fill this out when you are done): 5. Object-Oriented Programming Questions: 5.1 What is the different between an instance and a class? 5.2 In the video about testing equality of objects, why did A(5) == 9 initially crash? 5.3 Why doesn't our code crash when we call A('yellow', True), even though our __init__ function has three parameters? 5.4 Why should we write __repr__ instead of __str__ in most cases? 5.5 Write a one-line __hash__ method for a class, Book, which has two variables, title and author. 6. Recursion: 6.1 Pick an example from the 'Popular Recursion' section and explain why it is recursive. 6.2 Why do all (non-infinite) recursive functions need to have a base case? 6.3 In 'Recursive Math', what's the functional difference between the function f5 and the function f7? 6.4 Why is the base case for the recursive function power different from the base cases of rangeSum and listSum? 6.5 Add a print statement to the top of the basic rangeSum and the divide-and-conquer rangeSum, and count how many times each function is called on the same input. Describe what you observe and do your best to explain it. 6.6 Section 9 shows how functions can be implemented in both iterative and recursive ways. Of course, there can be multiple different iterative and recursive approaches to solve a problem. Describe two approaches, one iterative and one recursive, which you could use to solve the second example, reverse. These approaches should be different than the ones shown on the website.