The field of computer sciences is broad, deep, and continually growing, and impacts nearly every quarter of our modern lives. Computer scientists, therefore, need to be lifelong learners. Problem Solving with Python takes an explicit problem-solving approach to the introduction of computer programming and computational thinking, emphasizing the programmer's role in problem definition, expressing, evaluating, and implementing solutions, and evaluating...