A refreshingly different and engaging way of learning how to program using Python. This book includes example code and brief userfriendly explanations along with 150 progressively trickier challenges. As readers are actively involved in their learning they quickly master the new skills and gain confidence in creating their own programs.