Exercises, problems and solutions for Allen B. Downey's Think Python: How To Think Like A Computer Scientist