For the part nobody teaches properly — what the words actually mean, why your code broke, and how to keep going when you want to quit.
Traceback (most recent call last): File "main.py", line 4, in <module> average = total / count ~~~~~~^~~~~~~ ZeroDivisionError: division by zero
You asked Python to divide total by count — but right now count is 0. Nothing can be divided by zero, so Python stopped rather than guess. Your logic isn't broken. count is zero, and Python won't guess what you meant by dividing by nothing.
Start with Python Decoded — R349
The 77-page beginner guide · Instant download · Yours forever
Not "aspiring developers." Not "learners." You.
If you read that and felt a bit seen — hi. This is yours.
Sixteen tabs open. The same red text on your screen for forty minutes. Every answer you find assumes you already understand three things you don't.
And somewhere in there you start wondering whether you're actually cut out for this.
You are. The explanations were just bad.
Once you truly master something, you lose the ability to remember not understanding it. That's why expert tutorials skip the exact step where you got stuck — for them, that step stopped existing years ago.
I'm one chapter ahead of you, not twenty. I still remember which idea made me want to close the laptop, and which explanation finally made it click. That memory is what Python Decoded is built out of.
The beginner guide.
Ten chapters covering every core concept — variables, strings, lists, loops, conditionals, dictionaries, functions, error handling, objects and APIs — in the order they actually build on each other. Every concept opens with an analogy before a single line of code appears.
What changes is this — you read code and understand what it's doing, instead of staring at it wondering what everyone else seems to see.
These two get confused constantly, and the reason is that nobody explains what they're for — only what they look like. So let's start somewhere else entirely.
A list is the queue at the salon. Order is the whole point — who's first, who's after that. A dictionary is your contacts app. You'd never scroll to position 47 to find your mum. You search her name.
That's the entire difference. A list keeps things in order and you reach them by position. A dictionary pairs each thing with a name, and you reach it by that name.
# A list — order matters, you use positions appointments = ["9am wash", "11am colour", "2pm cut"] print(appointments[0]) # 9am wash # A dictionary — names matter, you look things up prices = { "wash": 150, "colour": 850, "cut": 300 } print(prices["colour"]) # 850
Notice the brackets are different, and that's your visual cue. Square brackets [ ] make a list. Curly brackets { } make a dictionary.
Notice too what you put inside the brackets when you're fetching something. With the list it's a number, because you're asking for a position. With the dictionary it's a name in quotes, because you're asking for a label.
If you'd naturally describe your data as "first, second, third" — use a list. If you'd describe it as "this one goes with that one" — use a dictionary.
You'll get this wrong sometimes and Python will tell you, usually with a KeyError or a TypeError. That's fine. Getting it wrong once is how most people finally remember which is which.
One page of 77. That's the whole book's voice.
One payment. Yours permanently, including every future update.
Get Python Decoded — R349Instant download · Yours permanently, including updates
Outside South Africa? Buy in USD — $24 →
You need the right one at the right moment. There are three things here, and you only ever need the one that matches where you're stuck.
The book you read cover to cover. Every core concept, explained properly, in order.
117 cards across seven categories, interactive and printable. Once a chapter clicks, these are what stop it slipping away a week later.
The reference you reach for when Python breaks. 30 errors · 37 pages, in plain English, with the cause and the fix. You keep it open beside your editor.
Two real cards from the deck. Tap one.
Two of 117 — basics, data types, built-in functions, object thinking, errors, APIs, and a set for the PCAP exam. Interactive deck plus a printable PDF.
All three together, if you'd rather have everything from the start.
You save R200 · $15. One payment, yours permanently, including updates.
Instant download · Or start with Python Decoded on its own
Outside South Africa? Buy in USD — $34 →
Prices in rands for South Africa. International orders are priced in US dollars and handled by our checkout partner — you'll see the exact amount before you pay.
I'm an IT student in Johannesburg, and learning to code genuinely overwhelmed me. Not because the ideas were too hard — because everything written about them seemed designed to make me feel like I'd walked into the wrong room.
So I started writing things down the way I'd explain them to a friend, analogies and all. That became Python Decoded.
I'm further along than you and I remember the road clearly — where it got confusing, and the exact sentence that finally made each idea land. That's what's in the book.
No — that's who it's written for. Python Decoded assumes you've never written a line of code. If anything, it may feel slow if you already know the basics.
No. Python Decoded includes a walkthrough for getting Python running on your machine, and you can read the whole book before you install a thing.
Yes. The book is formatted for phone reading, and the flashcards were built for a phone first — they run in your browser, so there's nothing to install. You'll want a laptop for actually writing code, but not for the reading.
Instantly by email after checkout. Python Decoded arrives as a PDF. If you buy the flashcards or the bundle, those come as a zip containing the interactive deck, the printable PDF, and a one-page guide to opening them.
The free guide covers a handful of concepts in the same analogy style — it's a real taste, not a teaser. Python Decoded is the full version: every core concept, in order, across 77 pages. If the free guide made things click, the book does that for the rest of it.
Two ways, and you get both. The interactive deck is a single file that opens in any browser — no app, no account, and it works offline once it's saved. You can shuffle, filter by category, and watch a progress bar move as you go. The printable PDF is the same 117 cards laid out to cut out by hand.
Read the free guide first. It's the same voice and the same approach, and it costs you nothing — that's the honest way to find out whether this works for you before spending anything.
If something is actually wrong — a file won't open, you got the wrong one, a download fails — email me and I'll sort it out or refund you. Because these are files you keep, I don't refund for change of mind. But I do want to hear what didn't land. It makes the next edition better.
Real Python errors, explained calmly. Free, and written for the moment you're stuck.
Python can't find the library you imported. Here's how to tell whether you need to install it, rename it, or fix your setup.
Read more → Python ErrorsPython won't add a number to a piece of text. Here's why, and the two ways to fix it in one line.
Read more → Python ErrorsYou asked a list for an item it doesn't have. Here's the counting rule behind it and the three situations where it happens.
Read more →The Girly Guide to Python covers the first handful of concepts in the same analogy style you just read. No payment, no catch — if it helps, you'll know exactly what the full book is like.
Straight to your inbox · Unsubscribe whenever
Everyone who writes code was once staring at a screen with absolutely no idea what it wanted. The only difference is somebody explained it to them properly.
Get Python Decoded — R349Instant download · Yours permanently, including updates
Outside South Africa? Buy in USD — $24 →
Want all three? Get the complete learning path for R497.