Great intro text. Would say book the book fairly quickly dives into advanced-beginner territory. Not necessarily a criticism, just an observation. It could be that I was completely new to programming and this text represented my exclusive introduction to it. Or, it could be that my aptitude for programming is below average, and this text is actually supposed be a breeze. However, I'm working through 'Practical Programming' by Gries and Campbell now, just to gain a different perspective on Python and CS and strengthen my understanding of the basics, and find that to be an easier, even more 'introductory' text. On the one hand I kind of wish I started with that first, on the other, I feel as though this book was a good challenge and hopefully pretty rapidly built my initial skill level at writing and understanding Python code and understanding some key aspects of computer science more broadly.
One thing is for sure. I found the end of chapter exercises to be very challenging. I simply could not have completed this book in a reasonable time frame without consulting solutions pretty often, though I would give a fair shot and try to at least partially complete some of the complex problems on my own before looking at the solutions. Compared to Practical Programming or other resources I've been using to learn Python, the problem sets in this text are definitely the hardest by far.