# no sign-up · no questions · offline

Understand Python, 5 minutes at a time

A complete Python course for beginners, in short lessons that show what code really does. On the bus, in a queue, in a break. Just open it and start.

18 units96 lessons~8 hoursfor beginners

Part 1 is free. One purchase opens the rest of the course, for good.

puzzle.py12
>  # what does it print?
# one lesson ≈ 5 minutes

Read code. Predict it. Build it.

Each lesson is one idea: a short idea card, a handful of questions that make you think about real code, then a mini-challenge.

  1. A Tap the parts question: two overlapping circles for the sets regulars and today, the middle part picked for regulars & today

    01See what code does

    Questions you answer with a tap: the parts of two sets, a loop round by round, the cell orders[1][0] reads.

  2. A wrong answer, with the explanation: Mia is in the set already, so the first .add() changes nothing

    02Mistakes explained

    Every wrong answer gets its own explanation, and comes back at the end. No hearts, no lives.

  3. Today's challenge, half built from tiles: total = 0, for price in prices:

    03Write it yourself

    A mini-challenge, built line by line from tiles, without fighting a small keyboard. Or type it, if you prefer.

> len(kinds)
21

21 ways to look at code

Not just multiple choice. Each kind of question shows something about Python that a page of text can't.

Predict the outputWhat the program prints.
Spot the bugTap the line to fix, with the error as Python prints it.
Fill in the blankThe missing piece that makes it work.
Put in orderLines into a program that runs.
Build the lineOne line of code, from tiles.
Write the codeA mini-challenge, in tiles or typed.
Pick oneWhich of these is right?
Tap every oneAll the lines that stop with a TypeError.
Tap the itemThe item order[-1] picks.
Round by roundA loop's values, one round per row.
Tap the rowThe pair menu["tea"] reads.
Next lineWhere Python goes after a call or a return.
Tap the sliceEvery letter code[0:3] takes.
Tap the partsWhat &, | and - keep of two sets.
Who gets whatEach parameter's value: by position, by name or default.
Tap in orderThe order sorted() gives, by its key.
Tap the cellThe cell orders[1][0] reads in data inside data.
Which lines runThe path through try, except and finally.
Where it comes fromA module, your own file, or built into Python.
What the file holdsA file after "w" or "a".
Inside the objectsWhat each object keeps after the program runs.
# from print() to classes

The whole course, in four parts

Every unit ends in a boss level that grows a small café's till into a real program, and the last one is a final project: a till that reads its menu from a file, takes orders and saves the day's report.

Every example is run with real Python, and every error looks exactly as Python prints it.

18units
96lessons
~8 hin 5-minute steps
# read whole programs

Stories: be the customer

Ana runs a café, and Sam is learning Python too. Watch them write the till, run it, pick what the customer types, and help fix what breaks. One story at the end of each part, about 10 minutes.

  • Part 1The first morningA till from scratch, and a receipt that says 0.30000000000000004.
  • Part 2The Saturday rushA queue of orders, and a loop that never stops.
  • Part 3The till that crashedA customer types "two". Follow the error to its line.
  • Part 4Closing the booksThe day saved to a file, and a "w" that almost wipes the month.
ANA
The till has to ask what people want. Then if picks the price.
SAM
On it. Run it, and you be the customer.
terminal
> python main.py
Good morning!
Drink?
tealatteLattemocha

You're the first customer. Order something, then run it again and order something else.

# practice that remembers

Your mistakes, fixed for good

Practice mixes your own mistakes with the lessons you haven't seen in a while, then ends on a challenge. No scores that fade, no meters.

  • Each lesson shows how it's going: 2 to fix, all fixed, or no mistakes
  • Today's challenge, one unit, or only your mistakes
  • The Library keeps every idea card, and compare cards for look-alikes: list or tuple, = or ==, for or while
  • Coming from Java? There's a compare card for that too
Learn: the next lesson, Tuples and sets, 51 of 96 lessons done, and the course in parts
# real errors

Errors, as Python prints them

From Unit 4 on, you learn to read a traceback: the last line says what went wrong, the line number says where. By the end, an error is a clue, not a wall.

Spot the bug: TypeError: 'set' object is not subscriptable, and the fix print(sorted(today)[0])
> python puzzle.py

A puzzle on your home screen

Add the Python puzzle widget: one small question a day from the lessons you've done, answered with a tap, right there. Tap anywhere else to open your next lesson.

The Python puzzle widget: price = 2.5, print(round(price, 2)), and the answers 2.5, 2.50 and 3
> python main.py

Then, a real computer

Real programs are written at a keyboard, and Pythio gets you there ready. "Send to my computer" sends the steps and the café till you built: install Python, run your till, then change it.

  • Get Python, pick an editor, run your first file
  • Ideas for your own first projects
  • Where to go next: packages and the official tutorial
What's next, in the dark theme: Send to my computer, Get Python, Pick an editor
# phones and tablets

Made for a phone, at home on a tablet

On a bigger screen the code sits on the left and the answers on the right. Light and dark follow your device.

  • Already know some Python? Skip ahead with a short placement test, or test out of a unit
  • A streak if you want one, with freezes for a missed day
  • One optional daily reminder, off until you turn it on
Pythio on a tablet: a Tap the parts question with the code on the left and the two sets on the right
# private by design

Nothing to sign up for. Nothing to track.

No account, no questionnaire, no age or goals. Pythio opens on your first lesson and asks you nothing.

No accountNo sign-up, no email, no password. Open it and learn.
No ads, no trackingNo analytics and no advertising ID. We don't know who you are.
Lessons work offlineEvery lesson, story and practice set. Only buying the full course goes online, through Google Play.
Progress on your phoneWhat you've done stays on your device. Nothing is sent to us.

Read the privacy policy.

# screenshots

See Pythio in action

Simple, and serious about Python. In light and dark.

# good to know

Simple, and honest about it

Free to startPart 1, the first 5 units and its story, is free, with no time limit. One purchase opens Parts 2 to 4 for good: no subscription, nothing else to buy, and Google Play brings it back on a new phone.

Calm by designNo hearts to lose, no timers, no guilt trips. One reminder a day, only if you turn it on.

For complete beginnersNo programming experience needed. The first lesson starts with what a program is.

Understand here, write thereA phone is great for understanding code. Writing real programs happens at a computer, and Pythio shows you how to get started there.

Python 3, as it is todayEvery example is checked with real Python, and errors look the way Python prints them.

Your progress lives on this deviceThere's no account to sync it. Android's own backup may bring it to a new phone; uninstalling the app removes it.

> python learn.py

Open it and start

No sign-up, no questions. Your first lesson is one tap away. Questions or ideas? Send us a message.