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/.
Author(s): Miki Tebeka
Edition: 1
Publisher: Pragmatic Bookshelf
Year: 2021
Language: English
Commentary: Vector PDF
Pages: 100
City: Raleigh, NC
Tags: Python; Elementary; Assignments
Cover
Table of Contents
Acknowledgments
Preface
About the Author
About the Code
About You
One More Thing
Foreword by Raymond Hettinger
Part I—Python Brain Teasers
Puzzle 1. Ready Player One
Puzzle 2. A Slice of π
Puzzle 3. When in Kraków
Puzzle 4. A Task to Do
Puzzle 5. Send It to the Printer
Puzzle 6. Spam, Spam, Spam
Puzzle 7. User! Identify Yourself
Puzzle 8. sorted? reversed?
Puzzle 9. A Simple Math
Puzzle 10. Will It Fit?
Puzzle 11. Click the Button
Puzzle 12. Attention Seeker
Puzzle 13. Identity Crisis
Puzzle 14. The Great Divide
Puzzle 15. Where's Waldo?
Puzzle 16. Call Me Maybe
Puzzle 17. Endgame
Puzzle 18. Round and Round We Go
Puzzle 19. TF (Without IDF)
Puzzle 20. A Divided Time
Puzzle 21. Tell Me the Future
Puzzle 22. Loop de Loop
Puzzle 23. Path to Nowhere
Puzzle 24. 12 Angry Men
Puzzle 25. Look at the Pretty Colors
Puzzle 26. Let's Vote
Puzzle 27. An Inside Job
Puzzle 28. Here Kitty Kitty
Puzzle 29. Not My Type
Puzzle 30. Highly Valued
Index
– SYMBOLS –
– A –
– B –
– C –
– D –
– E –
– F –
– G –
– H –
– I –
– J –
– L –
– M –
– N –
– O –
– P –
– R –
– S –
– T –
– U –
– V –
– W –
– Y –