We geeks love puzzles and solving them. The Python programming language is a simple one, but like all other languages it has quirks. This book uses those quirks as teaching opportunities via 30 simple Python programs that challenge your understanding of Python. The teasers will help you avoid mistakes, see gaps in your knowledge, and become better at what you do. Use these teasers to impress your co-workers or just to pass the time in those boring meetings. Teasers are fun!
At the beginning of each chapter I’ll show you a short Python program and will ask you to guess the output. The possible answers can be:
- Syntax error
- Exception
- Hang
- Some output (e.g. [1 2 3] )
Here’s how to approach the puzzles. Read through the code. Before moving on to the answer and the explanation, go ahead and guess the output. After guessing the output, run the code and see the output yourself. Finally proceed to read the solution and the explanation. The puzzles are short enough to solve on a coffee break, so carry them with you, have fun, and share them with co-workers.
People who make mistakes during the learning process learn better than people who don’t. If you use this approach at work when fixing bugs, you’ll find you enjoy bug hunting more and become a better developer after each bug you fix.
Many of these puzzles are from the author’s lessons learned (and others) of shipping bugs to production. He often uses the puzzles as quizzes during conferences and meetups, and they tend to create a buzz of excitement.
What You Need:
- You need to know Python at some level and have experience programming with it.
- NOTE: The book uses Python version 3.8.2 to run the code; the output _could_ change in future versions.
- You will need a working Python environment, you can download it from "python.org" https: //www.python.org/downloads/.
- You will probably want a good IDE for python, two of the most popular ones are "Visual Studio Code" https: //code.visualstudio.com/ and "PyCharm" https: //www.jetbrains.com/pycharm/.