A note to everyone learning here

Thank you for being here.

PyPractice is free to use, and no lesson is waiting behind a payment. If you would like to leave a tip, this page is for you. If not, please keep learning. That is already the point.

Optional A small thank-you

To everyone who has opened a lesson, answered a question, or come back after getting it wrong: thank you. You did not have to spend your time here, and I am glad you did.

— PyPractice

Where a tip goes

Small costs, careful work.

Tips are one optional way to help. They do not buy a say in what the lessons teach.

01 / KEEP IT ONLINE

Hosting and domain

Help cover the ordinary costs of keeping a small static site reachable.

02 / KEEP IT CAREFUL

Checking and corrections

Support the slower work: checking answers, fixing mistakes, and making explanations clearer.

03 / KEEP IT INDEPENDENT

Editorial independence

A tip does not unlock content or buy influence. Lessons are chosen by what helps learners, not by who paid.

Ways to tip

Leave a tip, if you want to.

Never required

Any link below opens a third-party payment page in a new tab. PyPractice does not process or store your payment details.

Tips are handled by the external provider. Their terms and privacy policy apply. There is no paid tier and no supporter-only content. The thank-you pack is public and is not a tip reward.

A thank-you, not a paywall

Take the offline edition with you.

The 92-lesson Chinese workbench is a thank-you gift for readers. It is public: if you have tipped, thank you; if not, take it anyway. The online lessons stay free.

  • 92 lessons · 3000 questions · 20 modules. A story-driven Chinese edition, separate from the 50 English-first lessons here.
  • One 2.0 MB HTML file. Double-click to read; no installation and no account.
  • Content works offline. Code examples need a connection the first time Pyodide loads.
  • Progress stays local. Reports and mistakes are saved in your browser, not uploaded.

No email, code, or payment is required. Version 1.2 snapshot; online lessons receive updates first. Verify downloads with SHA-256 checksums. Gift pack SHA-256: d3ea554f3faf99e7d98032e41b07a44e2db4e45f04bcb6c3b90daabf9309b1b3

50 lessons, two more languages

A smaller pack for English or Traditional Chinese.

These are the compact 50-lesson editions. Each is one HTML file with 600 questions and works without a server; Python examples still need a connection the first time Pyodide loads.

  • English: 50 lessons · 600 questions · one file.
  • Traditional Chinese: 50 lessons · 600 questions · Taiwan vocabulary, one file.
  • Not the 92-lesson workbench. The same public gift rules apply: no email, code, or payment.

Version 1.0 language snapshots. All four files are listed in the SHA-256 checksums. The online 50-lesson site remains the maintained edition.

Before you decide

A few honest answers.

If a tip would make things tighter for you, keep the money. The lessons are not going anywhere because of it.

Do I have to tip?

No. The lessons, 600 practice questions, answer keys, and browser runner are free to use. A tip is a thank-you, not a fee.

What do I get for tipping?

No exclusive content. The thank-you pack is public: everyone can download it, and a tip does not unlock it. You are helping keep the existing site available.

Is the offline pack only for supporters?

No. It is a public thank-you gift. Tipping is optional and does not change access.

Can I support without money?

Yes. Keep using the site, send a correction, or share it with someone who is learning Python. Those are real forms of support.

Will my name be published?

This site does not publish a supporter list. Payment is handled by the external provider; whether your name is shown there depends on that provider's settings.

One last thing

However you use this site, thank you.

You do not owe PyPractice anything. If it helped, that is enough. If you want to leave a tip, thank you twice.