Learn to Program by Solving Problems is a practical introduction to programming using Python, one of the world's most popular programming languages. The book emphasises problem-solving strategies that teach readers not only the mechanics of coding, but how to think like savvy programmers. Teaches readers how to use Python to solve short, situational problems (for example, how to predict when a gambler will run out of money while playing slot machines; how to create a programme to track cell phone data usage; how to set up a system of identifying the popularity of berths in a parking lot).