A growing archive of practical Python mini-projects — one folder per project, each focused on a core concept (input validation, control flow, functions, dictionaries, unit conversion…).
The twist: every project has two versions.
| Version | How it's built | Purpose |
|---|---|---|
| 🖐️ Manual | Written independently, from scratch | Prove I can solve it myself |
| 🤖 AI-assisted | Same problem, rebuilt with Claude's help | Compare structure, naming, error-handling and best practices — then learn from the gap |
Both versions ship as a Jupyter notebook and a PDF export so the code and its output are readable without running anything.
| # | Project | What it does | Concepts | Files |
|---|---|---|---|---|
| 1 | Motion Calculator | CLI tool that calculates Speed, Distance or Time from the other two, with 7 distance units and 7 speed units | input() validation loops · try/except · if/elif chains vs dict lookups · unit-conversion maths · f-string formatting |
Manual .ipynb + .pdf · AI .ipynb + .pdf |
New projects are added as they're built — check the folders for the latest.
=============================================
MOTION CALCULATOR MENU
=============================================
[1] Speed
[2] Distance
[3] Time
---------------------------------------------
Enter What you want to Calculate : speed
Available units for Distance: Inch, Feet, Yard, Mile, CM, Meter, KM
Choose Unit of Distance: mile
Enter Distance in mile: 26.2
Enter the time in Minutes: 180
Available units for Speed: KM/H, Mph, Feet/s, Inch/s, Yards/m, Meter/s, CM/s
Enter the unit of speed you want to see: mph
Speed is: 8.73 Mph
Supported units
| Distance | Speed |
|---|---|
| inch · feet · yard · mile · cm · meter · km | km/h · mph · ft/s · in/s · yd/min · m/s · cm/s |
All maths is done in a common base (km and km/h) and converted to/from the user's chosen units.
| Aspect | 🖐️ Manual version (212 lines) | 🤖 AI version (210 lines) |
|---|---|---|
| Structure | One top-level script, three big if/elif blocks |
12 small functions + main() entry point |
| Unit conversion | Repeated if/elif ladders per unit |
Two lookup dicts (DISTANCE_TO_KM, SPEED_FROM_KMH) + alias maps |
| Input validation | valid_num() helper re-asks on bad numbers |
Same idea, plus allow_zero flag and validated menu choice |
| Unit aliases | Partial (ft, m, kmh) |
Full (inches, kilometers, yd/min …) |
| Re-use | Hard to extend — new unit = 6 edits | New unit = 1 dict entry |
Takeaway: a dictionary lookup beats an if/elif chain the moment you have more than ~3 cases; and splitting a script into functions makes it testable and extendable. The next project applies both from the start.
python-daily-projects/
│
├── Motion Calculator/
│ ├── Time, Speed, Distance Project Manualy.ipynb # my own solution
│ ├── Time, Speed, Distance Project Manualy.pdf
│ ├── Time, Speed, Distance AI.ipynb # AI-assisted rewrite
│ └── Time, Speed, Distance AI.pdf
│
├── (next project)/
│ └── ...
│
└── README.md
git clone https://github.com/Mohammadshadab1/python-daily-projects.git
cd "python-daily-projects/Motion Calculator"
jupyter notebook # open either .ipynb and Run AllNo external libraries — only the Python standard library.
- Practise core Python daily with small, real, finished programs
- Learn better patterns by comparing my code with an AI-assisted version
- Build a public log of consistent coding practice
Mohammad Shadab — Data Analyst · Python · SQL · Power BI · Excel
⭐ Star the repo to follow along as new projects land!