Python Programming Using Problem Solving - Bhasin, Harsh. (Mercury Learning and Information,)