Augment your knowledge of Python with this entertaining learning guide, which features 100 exercises and programming puzzles and solutions. This book will help prepare you for your next exam or a job interview, and covers numerous practical topics such as strings, data structures, recursion, arrays, and more. Each topic is addressed in its own separate chapter, starting with an introduction to the basics and followed by 10 to 15 exercises of various degrees of difficulty, helping you to improve your programming skills effectively. Detailed sample solutions, including the algorithms used for all tasks, are included to maximize your understanding of each area. The author also describes alternative solutions and analyzes possible pitfalls and typical errors. Three appendices round out the book: the first covers the Python command line interpreter, which is often helpful for trying out the code snippets and examples in the book, followed by an overview of Pytest for unit testing and checking the solutions. The last explains the O notation for estimating performance. After reading this book, you'll be prepared to take the next step in your career or tackle your next personal project. All source code is freely available for download via the Apress website. You will improve your Python knowledge by solving enjoyable but challenging programming puzzles; solve mathematical problems, recursions, strings, arrays and more; manage data processing and data structures like lists, sets, maps; handle advanced recursion as well as binary trees, sorting and searching; and gamify key fundamentals for fun and easier reinforcement. This book is for programmers, software developers who are either professionals or makers, as well as students and teachers. At least some prior experience with the Python programming is recommended.