This is the last page before you install anything, and it's about the course itself. It covers the two ways each idea is explained and what the exercises do with the code you type. It also says which parts of learning Python happen on your own computer rather than in the browser. Knowing this up front saves you from wondering, three chapters in, why a page never has a Run button.
Two explanations and your setup
Nearly every idea here is explained two ways, and you choose which one you see. Textbook is the exact version. It uses the proper words that Python programmers and the official Python manuals use. Plain English says all the same things for someone seeing them for the first time, using everyday words and explaining each new term the moment it shows up. It isn't a cut-down version; nothing is left out. Flip between the two with the switch at the top of each explanation, and the course remembers which one you picked.
Some steps depend on your computer, like how to open the typing window from the last page. Those steps come in tabs, one tab per option. Tell the course about your setup once, in the My setup panel on the course page. It asks two things. First, which operating system you use: Windows, macOS, or Linux. (The operating system is the main software that runs your computer.) Second, which editor you'll write Python in. An editor is the app where you type code. The choices are VS Code, PyCharm, JupyterLab or Colab, or a plain text editor plus the terminal, and Chapter 1 helps you choose. After that, every tabbed block opens on your choice.
Most ideas are explained twice, side by side. The Textbook lane is precise: it uses the correct terms and states each rule completely, the way Python's official documentation would. The Plain English lane makes the same claims for someone meeting the idea for the first time, in everyday words, and explains every term where it first appears. Neither lane is a summary of the other, and nothing is left out of either. A switch above each explanation flips between them, and your choice carries over as you move through the course.
Steps that differ by computer appear as tabs. You set the course's two tab groups once, under My setup on the course page (or in Settings). One is your operating system: Windows, macOS, or Linux. The other is your editor, the app you'll write Python in: VS Code, PyCharm, JupyterLab or Colab, or just the terminal with a plain text editor. Choosing a tab in any lesson changes that group everywhere. If a block doesn't offer your choice, it opens on its own first tab and leaves your setting alone.
Here's a taste of an editor-tabbed block. Each tab says, in a sentence, how you'll run a program once Chapter 1 has set that editor up.
VS Code is a free, general-purpose editor. Chapter 1 adds Microsoft's
Python extension, which puts a Run triangle in the top corner of any
open .py file. Clicking it types the python command into a terminal
panel at the bottom of the window for you.
PyCharm is JetBrains' editor made for Python. A green Run arrow appears beside a file once it's open; clicking it starts the interpreter on that file and shows the output in a panel below.
JupyterLab (on your computer) and Google Colab (in your browser) work in cells: small boxes of code you run one at a time with Shift+Enter, each with its output underneath. This course's Colab lab notebooks open this way.
Any plain text editor plus a terminal works. You save the file, then type
python hello.py in the folder that holds it. Every editor in the other
tabs runs that same command for you behind its button.
Worked example
Setting up once
-
1
Ana has a Windows laptop and wants to try VS Code. On the course page she opens My setup and picks Windows and VS Code.
-
2
In Chapter 1, the install steps open straight on the Windows tab, and the "run your program" steps open on VS Code. She never hunts for her tab.
-
3one click in any lesson changes the whole group
Later she's curious about PyCharm and clicks its tab in a lesson. From then on, every editor tab in the course opens on PyCharm, because picking a tab anywhere updates the setting everywhere.
one click in any lesson changes the whole group
-
4
One block covers only the terminal and JupyterLab. It opens on its first tab, and Ana's PyCharm choice stays saved for the next block that has it.
Worked example
Reading both lanes on purpose
-
1
Ben is on the first section of this chapter. He reads the Plain English explanation of the interpreter first: the cook reading a recipe card to a kitchen robot.
-
2same claims, two registers
It makes sense, so he flips the switch to Textbook. The same facts appear in the words the official manuals use: source code, interpreter, bytecode, processor.
same claims, two registers
-
3
He hasn't missed anything by starting in Plain English, and he hasn't skipped anything by reading Textbook second. He's now learned the idea once and its official vocabulary once.
-
4
On the next page the switch is still on Textbook, because the course remembers his last choice. He flips back whenever a passage feels dense.
Which lane, or which tab?
Sort each feature: is it about the two explanation lanes, or about the tabs set under My setup?
Loading interactive…
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Correct answer
Also accepted:
Why
Why
Check your understanding (counts toward your progress)
In VS Code or PyCharm, what does the Run button actually do?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
The editor is a front end. Behind its button is the ordinary interpreter.
It really runs the file and shows the output.
Your editor runs code on your own computer, not on the course's server.
Why
An editor's Run button types the same python command for you. The interpreter, not the editor, runs the program.
What would typing python hello.py in a terminal do?
Ben reads only the Plain English lane. Is he missing any facts the Textbook lane states?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
Plain English is a full translation, never a cut-down version.
Both lanes carry the same facts.
Examples sit outside both lanes and appear for everyone.
Why
Plain English says everything Textbook says, explained for a first-time reader. Switching to Textbook is useful for learning the official terms, not for finding missing facts.
Is Plain English a summary?
How does the Plain English lane differ from the Textbook lane?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
Nothing is left out. It's a full translation, not a summary.
Both lanes explain the same idea.
It's for anyone meeting the idea for the first time.
Why
Both lanes make the same claims. Textbook uses the manuals' exact terms; Plain English uses everyday words and explains each new term the moment it appears.
Do the two lanes ever disagree about the facts?
Your setting is Linux, but a block only has Windows and macOS tabs. What does it do?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
A block that lacks your choice doesn't overwrite it.
The block still shows its content, starting with its first tab.
It isn't an error; some steps don't differ for every system.
Why
A block missing your choice opens on its own first tab, and your saved Linux choice waits for the next block that has it.
Does a block without your choice change the saved setting?
Practice: Two explanations and your setup (5 problems · doesn’t affect your progress)
Which lane uses the exact terms Python's official documentation uses?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
Plain English explains terms in everyday words when they first appear.
Textbook uses them on purpose.
Terms are taught in the lessons.
Why
The Textbook lane is the precise one, using the official terms.
Textbook
What two things does My setup ask you?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
My setup is about your computer, not about you.
Chapter 1 checks the Python version; the lane is a switch on each explanation.
My setup never asks for account details.
Why
My setup records your operating system (Windows, macOS, or Linux) and your editor, so tabbed blocks open on your choice.
Your operating system and your editor
Kai uses a Mac but clicks the Windows tab in a lesson to compare. What happens to later operating-system tabs?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
A tab click anywhere updates the saved choice for that group.
Each block shows one tab at a time.
They work fine; they just follow his latest choice.
Why
Picking a tab in any lesson changes the setting everywhere, so he should click macOS again when he's done comparing.
They open on Windows until he picks macOS again
Which editor tab would you choose if you want to work with nothing but a plain text editor and typed commands?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
PyCharm is a full Python editor with its own Run button.
JupyterLab and Colab run code in notebook cells.
VS Code is a full editor with a Run button.
Why
The Terminal tab covers a plain editor plus typing python hello.py yourself, which is what every other editor's Run button does for you.
Terminal
Challenge: Ana's VS Code shows different output from running python hello.py in her terminal. What's the most likely reason?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
The editor's button runs an ordinary interpreter. If results differ, it's a different interpreter.
The terminal shows exactly what the interpreter printed.
Lanes change explanations, not program output.
Why
An editor's Run button runs a Python interpreter, just like the terminal. Different output usually means the two are pointed at different Pythons, which Chapter 1 shows how to check.
They're starting two different Python installations
Checks, practice, and code exercises
You'll meet two kinds of question set. A check sits in the middle of a lesson. It picks a few questions at random from a bigger pool, so coming back later gives you different ones. Checks are marked, and your results help the course decide what to show you again for review later.
A practice set comes at the end of a part of a lesson. It's a short ladder of four to six problems that always come in the same order. The first asks about the idea itself. Then comes an easy one, a normal one, one with a twist, and a last one that hides a trap. A problem labelled challenge goes a step beyond the examples. Practice isn't marked; it's there because reading about something and doing it are different skills. Every chapter also finishes with a review page of practice drawn from all its lessons.
The code questions come in four flavors. In predict the output, you read a program and write down exactly what it would show, line for line. In put the lines in order, you arrange mixed-up lines into the right order, and sometimes one line is a decoy that doesn't belong. In fill in the blanks, you type the part of a program that's been left out. In a bug hunt, you get a program with mistakes planted in it, and you're told how many. A mistake in a program is called a bug. Sometimes you just click the broken lines; other times you repair the code and press Check.
A check is a set of questions inside a lesson. It draws a few at random from a larger bank, so a revisit shows a different mix, and your answers are graded and feed your progress and review schedule. A practice set is a fixed ladder of four to six problems, in the same order every time: a question about the idea, then a basic case, a typical one, a variation, and a problem with a catch in it. Problems marked challenge stretch past the section's examples. Practice is ungraded. Each chapter ends with a review page of practice drawn from all of its sections.
Code exercises come in four kinds. Predict the output: read a program and type the exact text it prints (or, when it stops with an error, the text that appears before it stops). Put the lines in order: arrange shuffled lines into a working program or a correct sequence of commands, sometimes with a decoy line to leave out. Fill in the blanks: type the missing piece of a program. Bug hunt: a short program with a stated number of planted mistakes, called bugs. In spot mode you click the broken lines; in fix mode you edit the code in place and press Check.
Try two now. They use only what this chapter's first section showed you:
print("...") shows the text between the quotes on a line of its own, and
the lines run top to bottom.
Predict before you peek
Type exactly what this program prints, one line per line. The answer was produced by the real Python 3.14 interpreter.
Loading interactive…
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Correct answer
Also accepted:
Why
Why
print lines run top to bottom, each showing its quoted text without the quotes and then starting a new line.Put the countdown in order
Arrange the lines so the program prints 3, then 2, then 1, then Liftoff! One line is a decoy.
Loading interactive…
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Correct answer
Also accepted:
Why
Why
Liftoff!. The decoy is missing its closing round bracket: a syntax error, which would stop Python before even 3 printed.Worked example
Working a bug hunt in spot mode
-
1
A bug hunt says: this program has 1 mistake. Click the broken line.
print("Level 1 complete") print("Score: 450) print("Loading level 2")File "main.py", line 2 print("Score: 450) ^ SyntaxError: unterminated string literal (detected at line 2) -
2
The task gives the number of bugs, so you know when to stop looking. Check each line against what a correct one looks like: the word
print, round brackets that open and close, and text inside a pair of double quotes. -
3one click per bug, then press Check
Line 2 opens a quote before
Scoreand never closes it. Python's grammar check would fail there and nothing would run, as the report under the code shows. Click line 2.one click per bug, then press Check
-
4
In fix mode, the same program would open in an editor. You'd add the missing
"after450and press Check, and the page would tell you whether the bug is gone and whether the code is still well-formed Python.
Worked example
Predicting a program that stops early
-
1
A predict-the-output question shows this program and says it ends in a
NameError. What do you type?print("Saving") print("Saved") prnt("Closing")Saving Saved -
2
First, the grammar: every quote and bracket has a partner, so Python starts running. That rules out "nothing at all".
-
3
Lines 1 and 2 are ordinary
printlines, soSavingandSavedappear. -
4type what appeared, not what the author hoped for
Line 3 says
prnt, which Python can't find, so the program stops there. You type the two lines that really appeared,SavingandSaved, and nothing for line 3.type what appeared, not what the author hoped for
Check your understanding (counts toward your progress)
Put a practice ladder's rungs in the order they come.
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Why
A practice ladder runs from understanding, to a basic case, a typical one, a variation, and finally a problem with a catch.
Correct answer
Also accepted:
Why
Ladders climb: easy first, the trap last.
Fill the blank so the program prints Lights on.
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Why
print shows exactly the text between the quotes, so the blank is Lights on.
Correct answer
Also accepted:
Why
Type only what goes between the quotes.
A predict-the-output program stops with an error after printing two lines. What do you type?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
The program never got that far, so those lines never appeared.
The task asks for the printed output, which is the lines that came before the stop.
They're fair questions: the answer is what really appeared.
Why
Predict-the-output asks for exactly what appears. When a program stops early, that's the lines printed before the stop.
What really appeared on the screen?
Bug hunt, fix mode: this program has 1 mistake. Edit it so both lines print, then press Check.
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Why
The text Ready in 10 minutes needs a closing " before the ). With it, the file follows Python's grammar and both lines print.
Correct answer
Also accepted:
Why
Where does the quoted text end?
Practice: Checks, practice, and code exercises (5 problems · doesn’t affect your progress)
Which kind of question set always shows the same problems in the same order?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
A check picks at random from a bank.
Only one of them is fixed.
Practice sets are fixed on purpose.
Why
Practice is a fixed ladder; checks draw a random few from a bank.
A practice set
Type exactly what this prints.
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Why
Two print lines, two lines of output.
Correct answer
Also accepted:
Why
Check ⏎ Practice
Put the lines in order so the program prints the ladder's rungs: basic, typical, variation, gotcha.
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Why
Top to bottom: the first line printed comes first in the program.
Correct answer
Also accepted:
Why
Fill the blank so the program's middle line of output is Level 2.
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Why
The middle print shows the text in its quotes, so the blank is Level 2.
Correct answer
Also accepted:
Why
Level 2
This program stops with an error. Type what appears before it stops.
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Why
The grammar is fine, so three lines run. pirnt isn't a name Python knows, so the program stops on line 4. Neither Sold out nor Doors close appears.
Correct answer
Also accepted:
Why
Is every line's grammar fine? Then which name can't Python find?
Ticket 1 ⏎ Ticket 2 ⏎ Ticket 3
What the page checks, and what your machine runs
When you type code into a question on this site, the site never runs your code. Instead, a Python parser on the course's server reads it. A parser is a program that reads code the way a grammar checker reads a sentence. It can tell whether each bracket has a partner, where each line ends, and whether you used the piece the question asked for. What it can't tell is what your code would do, just as a grammar checker can't tell whether a sentence is true. That's why you'll never see a Run button on a lesson page.
So where do the outputs on the pages come from? Before a page is published, the course's build takes every example program and runs it with the real Python interpreter, version 3.14. Then it compares what the page shows with what really appeared, letter for letter, including every error report. If anything differs, the page isn't published. No output here was typed in by a person.
Running your own code happens on your own computer, from Chapter 1 on. Starting in Chapter 2, every chapter ends with a project. That's a ready-made Python folder you download and finish. It arrives with tests: small extra programs someone already wrote to check whether your code works, and one command runs them all.
Some chapters also have a lab. A lab is a notebook: a page of explanations with small boxes of code in it, which you run one box at a time. It opens in Google Colab. Colab is a free website that runs Python for you on Google's computers, so you can experiment with nothing installed. Its Python is one version older than this course's (3.13 right now), so the labs steer clear of the handful of features that are brand new in 3.14.
Code you type into a lesson page is never run. It's sent to the
course's server and read by a Python parser. A parser is a program
that works out the structure of source code without carrying out any of
it: which brackets pair up, where each line ends, which names are used. That's how a check decides whether your answer is
well-formed Python and whether it uses what the task asked for. It also
sets the limit: a parser knows the shape of your code, not what it
would do. It can't tell what a program would print, or whether it would
stop with an error partway through. That's why there's no Run button on a
page, no >>> prompt in the browser, and no "try it" box.
So everything a page shows Python doing was produced ahead of time: the output under a snippet, every error report, and the answer key of each predict-the-output question. When the course is built, each example is run by the real Python 3.14 interpreter and its output is compared with the page character for character; the build fails if any page disagrees. Nothing on a page was typed in by hand.
Running is your machine's job, starting in Chapter 1. From Chapter 2 on, each chapter ends in a project: a ready-made Python project folder you download, with tests already written. Tests are small extra programs that check whether your code does its job, and one command runs them all. Some chapters also have a lab: a notebook (a document that mixes text with cells of code you run one at a time) that opens in Google Colab, a free website that runs notebooks on Google's computers. Colab's Python is a version behind (3.13 as of this writing), so the labs avoid the few features new in 3.14.
On this page, or on your machine?
Sort each activity by where it happens.
Loading interactive…
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Correct answer
Also accepted:
Why
Why
Worked example
Checked is not the same as run
-
1
A fill-in-the-blank question asks for the missing text in
print("[[b1]]")so that the program printsLights on. Leo typesLights onand it's marked right. -
2
The page never ran Leo's program. The parser confirmed the line is well-formed Python and the blank matches an accepted answer. Separately, when the course was built, Python 3.14 ran the same program with that answer in place and printed
Lights on. -
3the page checks; Python (yours or Colab's) runs
Curious, Leo opens a Colab notebook, types the line with
Lights offinstead, and presses Shift+Enter. NowLights offappears. That run happened on Google's computers, not on the lesson page.the page checks; Python (yours or Colab's) runs
-
4
From Chapter 1 he'll do the same on his own laptop, with Python installed locally, and from Chapter 2 he'll run each project's tests there too.
Fill in the blank
Fill the blank so the program prints exactly Doors open
Loading interactive…
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Correct answer
Also accepted:
Why
Why
Doors open with a capital D and no quotes of its own. The quotes are already in the line around the blank.Worked example
Trusting an output you didn't run
-
1
Chapter 1 shows a program next to the text it prints. How do you know it's right?
-
2
When the course was built, that program was run by Python 3.14, and the build compared what it printed with the page, character by character. It would have refused to publish a page that differed.
-
3
The same goes for error reports, like the missing quote earlier in this chapter: Python produced that report; nobody wrote it from memory.
-
4a mismatch means a typo or a different version, not a broken page
If your own run ever differs, the difference is information. Check that your code matches the page character for character, then check which version of Python you're running (Chapter 1 shows how). A few results legitimately differ between computers or between runs, and the pages that show them say so.
a mismatch means a typo or a different version, not a broken page
Where this goes next
Chapter 1 §2 installs Python 3.14 on your machine. From Chapter 1 §3 on, you can run every example yourself. Chapter 1 §5 sets up the editor you chose under My setup. Chapter 2 ends with the first project. It's a unit converter you finish in a ready-made folder and check against its tests. Every chapter after that ends with a project too. Chapter 9 §7 shows how those tests are written, so you can write your own.
Check your understanding (counts toward your progress)
Where did the output shown under a code snippet on a page come from?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
No output on a page is typed by hand.
Nothing runs in your browser.
The build compares it with a real run and refuses to publish a page that differs.
Why
Every snippet is run by Python 3.14 at build time, and the build fails if the page disagrees with the real output.
What happens before a page is published?
Leo's fill-in-the-blank answer was marked right. Did the page run his program?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
The server only parses; it never runs a student's code.
No Python runs in the browser.
The build already ran the program with the accepted answer and checked its output.
Why
The page checked the shape of Leo's code and matched the blank. Python 3.14 ran the program with that accepted answer when the course was built, so the key is known to be right.
When did a real Python last run this exact program?
Colab's Python is version 3.13 while this course uses 3.14. What does that mean for the lab notebooks?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
Colab runs Python fine; it's just one version older.
Almost everything works the same in both versions.
The labs are written to work on Colab as it is.
Why
The labs stick to what both versions share, so they run as-is on Colab's 3.13.
Most of Python is the same across one version.
Which of these can the parser NOT tell about your code?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
Matching brackets is exactly the kind of structure a parser knows.
Which names appear is part of the code's shape.
A parser always knows where lines end.
Why
A parser knows shape, not behaviour. What a program prints is only known by running it.
A grammar checker can't tell whether a sentence is true.
Practice: What the page checks, and what your machine runs (5 problems · doesn’t affect your progress)
What is a parser?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
A parser never runs anything.
Checks are graded automatically by the server.
It's a program, not a folder.
Why
A parser reads code's shape, like a grammar checker reads a sentence, and never carries it out.
A program that works out the structure of code without running it
Where do you run code to see what your own changed program prints?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
The page parses your code; it never runs it.
Lanes are explanations, not places to run code.
You can, from Chapter 1 on your computer, or in Colab any time.
Why
Running is done by a real Python: yours, installed in Chapter 1, or Colab's in a browser.
On your own computer, or in a Colab notebook
Sort each item: produced at build time by Python 3.14, or by you on your own computer?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
What this task checks
Structure checked automatically. Whether your ideas are convincing isn't graded, so reread with the checklist.
The compiler says
A model answer
Why
Everything a page shows was captured from Python 3.14 when the course was built. Running your own changes and the project tests is your computer's job.
Correct answer
Also accepted:
Why
Which of these can a lesson page grade for you?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
That needs a real run; a parser can't know it.
Only a real run shows that.
Timing needs a real run too.
Why
A parser can confirm shape: brackets, quotes, names used. Anything about what happens when code runs needs a real interpreter.
Whether the line you fixed is well-formed Python
Challenge: why does the course run every example at build time instead of letting an author type the output?
Right on try — credit. Right — the answer had already been shown, so no credit this time. Next try is worth Answer shown after three tries — this one no longer earns credit. You chose to see the answer — this one earns no credit.
Speed isn't the reason; trust is.
Captured output looks exactly like real output, because it is.
Even experts misremember exact messages and spacing. A real run never does.
Why
Capturing every output from a real run, and refusing to publish on any mismatch, means what you read is what Python really does.
So no page can show output that the real Python wouldn't produce