Python 3 The Hard Way
After reading though Automate The Boring Stuff (AtBS) I went on to read Learn Python 3 The Hard Way. While AtBS was a great introduction to programming it leaves out a lot of concepts for the purpose of getting you creating things with code a quickly as possible.
Learn Python 3 The Hard Way is much more focused on make sure you learn about programming concepts like object oriented programming.
Through out the book the author uses text based adventure game as a vehicle for explaining concepts. By then end of the book you create about three different version of the adventure game. The first version is strictly procedural