6.5 Exercises
This chapter’s exercises are based on code available from Packt Publishing on GitHub. See https://github.com/PacktPublishing/Functional-Python-Programming-3rd-Edition.
In some cases, the reader will notice that the code provided on GitHub includes partial solutions to some of the exercises. These serve as hints, allowing the reader to explore alternative solutions.
In many cases, exercises will need unit test cases to confirm they actually solve the problem. These are often identical to the unit test cases already provided in the GitHub repository. The reader should replace the book’s example function name with their own solution to confirm that it works.
6.5.1 Multiple recursion and caching
In Handling difficult tail-call optimization, we looked at a naive definition of a function to compute Fibonacci numbers, the fib()
function. The functools.cache
decorator can have a profound impact on the performance of this algorithm.
Implement both versions and describe...