Projects
The best way to get better at Python is to build something with it. Each project here gives you a target and points you toward the concepts you'll need. The docs are your reference. The implementation is yours.
Projects are grouped by complexity. Starter projects run in under 50 lines and focus on one or two ideas. Builder projects combine multiple concepts and require more decisions. Complete projects are full scripts — classes, file persistence, error handling — something you'd actually use.
Starter
| Project | What you'll build |
|---|---|
| Number guessing game | A loop that picks a random number and takes guesses until the player wins |
| Password generator | A script that builds a random password from a character set you control |
| Mad libs | A fill-in-the-blank story that collects words from the player and prints the result |
Builder
| Project | What you'll build |
|---|---|
| Quiz game | A multiple-choice quiz that scores the player and shows results at the end |
| Expense splitter | A script that takes a list of expenses and splits the total fairly between people |
| Word frequency analyzer | Read a block of text and report the most common words |
| Contact book | A CLI tool to add, search, and list contacts during a session |
Complete
| Project | What you'll build |
|---|---|
| Flashcard study app | Study a deck of flashcards loaded from a file, with score tracking across sessions |
| Inventory manager | A CLI tool to manage stock: add items, update quantities, save to a file |
| Personal journal | A script that writes dated entries to a file and lets you read past ones |

