Python playground
Write and run Python 3 in your browser, with nothing to install: several files that import each other, autocomplete, the error line highlighted and your code saved. It is the same environment as the website’s practical mock exams, but free to use, so you can try the examples in the articles, do the exercises on your phone or run your own programs.
How to use it
- Files: they are the tabs at the top. + creates a new one; the pencil (or a double click on its name) renames it and the cross deletes it (it asks for a second click). Modules import each other as on your computer:
from grades import Grades. - Run runs the file you have open. Output and errors appear in the Console; if there is an error, its line is highlighted in the editor and the «Go to…» button takes you there.
- Input: what
input()will read, one line per read. It is not interactive, as in a terminal: type the data before running. - Your code is saved automatically in this browser. Download gives you the open file and .zip all of them. Upload adds your own
.pyfiles or data files (.txt,.csv) that your program can open withopen(). - Share creates a link with your code inside: whoever opens it sees your files exactly as they are. The code travels inside the link itself; nothing is stored on the website.
- Back to the sample restores the original files (it asks for a second click). The expand button (top right) makes the environment fill the window and A− / A+ change the text size.
Keyboard shortcuts
| Shortcut | What it does |
|---|---|
| Ctrl + Enter | Runs the open file |
| Ctrl + Space | Shows the suggestions (they also appear as you type) |
| Tab or Enter | Accepts the highlighted suggestion |
| Ctrl + / | Comments or uncomments the selected lines |
| Ctrl + F | Find and replace |
| Ctrl + Z and Ctrl + Shift + Z | Undo and redo |
On a Mac, Cmd instead of Ctrl.
What you can and cannot do
- It is real Python 3.14 (Pyodide, CPython compiled to WebAssembly), with the whole standard library:
math,random,datetime,collections,itertools,unittest… - You cannot install packages with
pip(nonumpyorpandas): it is designed for FP1 and FP2 programs. input()reads from the Input tab. If the data runs out, you will see anEOFErrortelling you so.- Each run can last at most 15 seconds: an infinite loop stops by itself, and you also have the Stop button.
- Threads (
threading) do not work inside the browser. - The first time it downloads about 12 MB (the loading bar shows how it is going); after that it starts at once.
Practise with it
- The exercises with solutions of FP1 and FP2: copy the statement, program it here and compare with the solution.
- The solved programs: paste one, change it and see what happens.
- If you are also learning Java, there is the Java playground, and more will arrive in Playgrounds.

What is an operating system — theory with your laptop on a study afternoon, a write() call and a CPU that never rests (and the three programs that weren’t running at the same time)