Thinking in Python by Bruce Eckel

6 pointsthinkinginpython.com
pjacotg3hrs