Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code - Shaw Zed
Pearson Education
Readers will learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix the mistakes. Watch the programs run. Includes 5+ hours of video where Shaw shows how to break, fix, and debug code.