[Just a note, all the book links in my original post have complete table of contents listing, so don't just take my word on their suitability.]
Here's some I missed: Programming in Python 3, 2nd Edition - Mark Summerfield (Addison-Wesley, 2009) [1a]. Exercises. Solutions available online. At a quick glance I'd say the exercises are also better for the beginner. Less of a computer science orientation? Learning Python, 4th Edition, Mark Lutz (Oreilly,2009) [1]. The 5th edition [2] is supposed to come out in June. Python 2.6 & 3.x. Has exercises at the end of every Part and answers in Appendix B. Also has "Test Your Knowledge" quizzes & answers. 1200+ pages! Too overwhelming for a first Python book? Ideal for a 2nd or 3rd however. After seeing your response, I'd say, just one book isn't really going to work. So I would recommend: 1) Quickly go through Python for Kids. While it may say it's for kids, it actually covers quite a bit of ground (including writing a game using tkinter). I doubt it's so easy as to be boring. The lazy can also download sample code and solutions to the Programming Puzzles from the webpage. 2) Then Summerfield's Programming in Python 3. It has a lot more detail and also spends time on the Python Standard Library. Or maybe Think Python. A *lot* drier presentation than Python for Kids -- after all, the subtitle which I forgot to mention is "How to Think Like a Computer Scientist". Newer than Summerfield , but only 1/3 the length . Since I've only skimmed both I find it hard to recommend one over the other. 3) Finally, when he *really* wants to learn all the gory details about Python programming, tackle Learning Python (and by that time hopefully the 5th edition will be out). Once you've "learned" P ython then I would also recommend Programming Python, 4e - Mark Lutz (Oreilly,2010) [3] for detailed info on using some of the standard modules. Also Python Cookbook: Recipes for Mastering Python 3 - Beazley & Jone (OReilly, 2013) [4]. [Off Topic] -------- Depending on his age and what else he is learning at school, I also kinda think NumPy/SciPy/Matplotlib can be very enlightening. SciPy and NumPy - E. Bressert (O'Reilly, 2013) [5]. A brief overview. NumPy 1.5 Beginner's Guide - I. Idris (Packt, 2011) [6] NumPy Cookbook - I. Idris (Packt, 2012) [7] Already started back in February and ending in a month, there is MIT's free online video edX course "6.00x: Introduction to Computer Science and Programming" [8] which uses Python 2.7 and the book "Introduction to Computation and Programming Using Python (Spring 2013 edition)" by John Guttag [9]. This is also viewable free online if you are registered for the course. Estimated effort 12 hours/week, eeek! [1a] http://www.qtrac.eu/py3book.html [1] http://shop.oreilly.com/product/9780596158071.do [2] http://shop.oreilly.com/product/0636920028154.do [3] http://shop.oreilly.com/product/9780596158118.do [4] http://shop.oreilly.com/product/0636920027072.do [5] http://shop.oreilly.com/product/0636920020219.do [6] http://www.packtpub.com/numpy-1-5-using-real-world-examples-beginners-guide/book [7] http://www.packtpub.com/numpy-for-python-cookbook/book [8] https://www.edx.org/courses/MITx/6.00x/2013_Spring/about [9] http://mitpress.mit.edu/books/introduction-computation-and-programming-using-python
-- http://mail.python.org/mailman/listinfo/python-list