practicepython.in
python exercises
171 exercises

Help

Everything below is something somebody actually asked, or something that went wrong often enough to be worth writing down. If what you need is not here, the speech-bubble button on the right edge reaches me directly.

Free, and there is no account to make. Nothing here is behind a sign-up, a trial or an email address, and your progress is kept in your own browser rather than on a server.

Python 3.13, running inside your browser tab — CPython compiled to WebAssembly through Pyodide. Your code is never uploaded, because there is nowhere to upload it to.

The first exercise you open downloads Python itself, about 5 MB, and a bar across the top of the page shows how far along it is. Your browser caches it, so every page after that starts in about a second. The exercises in the array and table tracks additionally fetch numpy or pandas and say so in the spec table before you begin.

If the status line in the rail is still showing starting python after a minute, reload the page first. If it happens every time, something is blocking WebAssembly or the jsDelivr CDN — usually a corporate proxy, an aggressive content blocker, or a browser older than about 2021. A private window with extensions disabled is the quickest way to tell which.

It did not. A runaway loop is killed after six seconds and the engine restarts itself, which is why your code runs in a worker rather than on the page. You will see a note saying so, and your code is still in the editor.

Into this browser, and nowhere else. Clearing site data removes it, a different browser or device starts fresh, and private windows forget everything when they close. That is the trade for having no account; the privacy page lists exactly what is stored. It also saves your whole record to a file you can load on another browser or device.

Mostly. Once Python has been downloaded and the page you are on has loaded, the grading is entirely local — aeroplane mode changes nothing. Opening an exercise you have never visited still needs the network.

Yes. Write it wherever you like and paste it in; the grader only cares about the function you define. There is nothing to install and nothing to submit.

No. The editor’s contents are saved in your browser so you can come back to them, and they are never transmitted. The only thing that ever leaves is a message you write in the feedback panel, and only when you press Send.

No, and deliberately so. Those measure whether you got there. This one tells you what your code actually did when it did not — which mistake, in which case, in words. There are no timers, no rankings and no streaks anywhere on the site.

Always, on every exercise, from the moment you open it. Holding the answer hostage does not teach anyone anything; what matters is the reasoning printed beside it, and the note explaining when not to write it that way at all.

Use the speech-bubble button on the right edge of any page. It takes one line, it reaches me directly, and it carries the page you were on — so exercise-specific reports are the most useful kind. Leave an email if you want a reply.