Think Python, a book by Allen B. Downey
You need to enable JavaScript to run this app.