All three tasks are implemented within a single jupter notebook: all_tasks.ipynb. The first 3 cells contain the start up code, loading all the libraries needed, creating the common datastructures, and storing the default values.
The next three cells contain the implentation of tasks 1, 2, and 3 respectively!
Each of the tasks prints in csv format the data that is being gathered for the task. I have chosen to leave their outputs, but they can be cleared and reran as needed.