This project uses uv for dependency management and marimo for the interactive notebook.
# Install dependencies
uv sync
# Open the notebook (edit mode - you can write and save your solutions)
uv run marimo edit notebooks/exercises.pyThe notebook contains 42 exercises. For each exercise you get:
- Description — what to implement, with a link to the full explanation
- Code cell — write your solution here
- Tests — shows ✅ or ❌ as you work
- Hints — controlled by a slider at the top of the notebook
Use the slider at the top of the notebook to set your hint level:
| Level | What you see |
|---|---|
| 0 | No hints |
| 1 | Conceptual nudge |
| 2 | Detailed approach |
| 3 | Full solution code |
Exercises are adapted from Python Programming Exercises, Gently Explained by Al Sweigart, licensed under CC BY-NC-SA 4.0.
- Hello World
- Temperature Conversion
- Odd & Even
- Area & Volume
- Fizz Buzz
- Ordinal Suffix
- ASCII Table
- Read Write File
- Chess Square Colour
- Find & Replace
- Hours, Minutes, Seconds
- Smallest & Biggest
- Sum & Product
- Average
- Median
- Mode
- Dice Roll
- Buy 8 Get 1 Free
- Password Generator
- Leap Year
- Validate Date
- Rock, Paper, Scissors
- 99 Bottles of Beer
- Every 15 Minutes
- Multiplication Table
- Handshakes
- Rectangle Drawing
- Border Drawing
- Pyramid Drawing
- 3D Box Drawing
- Convert Integers To Strings
- Convert Strings To Integers
- Comma-Formatted Numbers
- Uppercase Letters
- Title Case
- Reverse String
- Change Maker
- Random Shuffle
- Collatz Sequence
- Merging Two Sorted Lists
- ROT 13 Encryption
- Bubble Sort
This project is licensed under CC BY-NC-SA 4.0. You are free to share and adapt this material for non-commercial purposes, as long as you give attribution and share under the same license.