ThinkPythonSolutions.Think Python is a great book to learn python as well as the thinking process of a programmer. This book has a lot of problems, as I am now going throught this book I am solving these problems. My code is not efficient and well documented as it should be, but I hope this may help.