Data Rebellion presents
Demons and Dwarves, An Intro to Python Adventure
Call to Adventure
A shadow falls over the land. Hero after hero arises to confront the encroaching evil, yet hero after hero is mercilessly slain (or accepts an offer for a pretty sweet management gig). Now, only two things stand between the all-powerful Emperor and his plans of enslaving every sentient lifeform in existence: a dwarven office clerk and the Python programming language. Welcome to the world of Demons and Dwarves.
Demons and Dwarves is an introductory Python programming course in the form of a story that revolves around a puzzle. The first person to solve the puzzle with Python is the winner and, in addition to unlocking the story’s ending and having their name and code memorialized there, gets to choose which charity to have $500 donated to. There are eight chapters in total which will be published one or two at a time over the course of several weeks.
Answers can be submitted as comments in the Prologue. If you get the correct answer, I’ll email you and ask for your code (via the email you have to provide when leaving a comment, which is only visible to me). The first person to reply to me with Python code that correctly works through every part of the puzzle is the winner. If you’re first to leave a comment with the correct answer but don’t provide your code, your code doesn’t check out, or you use a language besides Python, you won’t be declared the winner but you’ll still get an honorable mention.
There are one or more hints in every chapter, some more subtle than others. It is possible to solve the puzzle without any hints, though by the time the eighth chapter is published the hints will have made the puzzle somewhat easier.
Preparing for the Journey Ahead
To get the most out of Demons and Dwarves you will want to not only run the code that occurs in the story as you read through it, but tinker with the code and test creative hypotheses about what might work and why. The more errors the merrier.
To run your code, you’re going to need a code editor. Here are a few options that I suggest:
- repl.it: a convenient online editor. You can even make a free account and save your code there.
- Python IDLE: the basic editor that comes with a Python installation
- Spyder: an advanced editor that comes with an Anaconda installation
If you’re brand new to programming, you may also want to read up on the difference between running code in interactive mode versus script mode, as the code in some parts of the story will be easier to run in a particular mode.
Leave a comment if you have any questions.
GL HF
Table of Contents
Prologue – The Door
Chapter 1 – Arithmetic and Variables
Chapter 2 – Strings and Lists
Chapter 3 – Conditional Statements
Chapter 4 – Functions
Chapter 5 – Loops
Chapter 6 – Built-in Functions and Methods
Chapter 7 – Imports and Nesting
Chapter 8 – Opening the Door
Chapter 1 – Arithmetic and Variables
Chapter 2 – Strings and Lists
Chapter 3 – Conditional Statements
Chapter 4 – Functions
Chapter 5 – Loops
Chapter 6 – Built-in Functions and Methods
Chapter 7 – Imports and Nesting
Chapter 8 – Opening the Door
Acknowledgements: Demons and Dwarves was inspired by many other works, but The Wheel of Time series in particular.
Disclaimer: All puzzle-solvers agree that the sole and final judgment concerning all matters related to winner selection, charity donation, and interpretation of rules are at my sole discretion.