Welcome, welcome, WELCOME, to the most SPECTACULAR, the most FABULOUS, the most EXCITING Python game show this side of the digital realm! My name is Caine, and I'll be your HOST through this wonderful ARCADE of programming! Isn't that EXCITING? HAHAHA!
You see, this repository is your CABINET — your home base, your backstage pass, your HIGH SCORE TABLE for tracking everything the Gaby learns while diving headfirst into the wonderful, wacky world of Python! Let me show you around!
GabyLearnsPython/ ★ THE ARCADE ★
├── PylingsTUI/ ☆ THE CONTROLLER CONSOLE ☆
│ ├── Sources/pylings/main.swift # Swift-powered TUI (fancy, huh?)
│ ├── Package.swift # Swift package manifest
│ ├── Makefile # Build shortcuts!
│ ├── pylings # Python test runner!
│ ├── Practice/ # ★ THE PRACTICE CABINET ★
│ │ ├── Mod1.py # Variables, Math, Functions
│ │ ├── Mod2.py # Data Types and Functions
│ │ ├── Mod3.py # Operators and Conditionals
│ │ ├── Mod4.py # Scopes
│ │ ├── Mod5.py # Loops
│ │ ├── Mod6.py # Error Handling
│ │ ├── Mod7.py # Classes and Inheritance
│ │ ├── Mod8.py # Common Methods
│ │ ├── Mod9.py # Modules and Packages
│ │ ├── Mod10.py # List Comprehensions
│ │ ├── Mod11.py # Advanced Dicts and Sets
│ │ ├── Mod12.py # Advanced Functions
│ │ ├── Mod13.py # String Formatting and Text
│ │ ├── Mod14.py # Numbers and Math
│ │ ├── Mod15.py # Dates and Time
│ │ ├── Mod16.py # CSV and JSON
│ │ └── README.md # Cabinet-specific docs!
│ └── .gitignore # The invisible wall!
├── Assignments/ ☆ THE BONUS ROUND ☆
│ ├── assignment1.py # Bakery scenario — Variables, Math, Functions
│ ├── assignment2.py # The Bakery's Price Check
│ ├── assignment3.py # The Bakery Gets Bigger (Classes!)
│ ├── assignment4.py # The Bakery's Busy Day (Loops!)
│ ├── assignment5.py # The Bakery's Recipe Module
│ ├── assignment6.py # The Bakery's Menu Board
│ ├── assignment7.py # The Bakery's Price Calculator
│ ├── assignment8.py # The Bakery's Delivery Schedule
│ ├── assignment9.py # The Bakery's Sales Report
│ ├── assignment10.py # The Bakery's Data Dashboard (FINAL BOSS!)
│ └── README.md # Scoreboard and feedback!
├── Lesson/ ☆ THE TRAINING ROOM ☆
│ ├── day1.ipynb # Variables, Math, Functions
│ ├── day2.ipynb # Data Types and Functions
│ ├── day3.ipynb # Operators and Conditionals
│ ├── day4.ipynb # Scopes (L.E.G.B.!)
│ ├── day5.ipynb # Loops (For, While, Break!)
│ ├── day6.ipynb # Error Handling (Try, Except, Raise!)
│ ├── day7.ipynb # Classes and Inheritance
│ ├── day8.ipynb # Common Methods
│ ├── day9.ipynb # File I/O
│ ├── day10.ipynb # Modules and Packages
│ ├── day11.ipynb # List Comprehensions
│ ├── day12.ipynb # Advanced Dicts and Sets
│ ├── day13.ipynb # Advanced Functions
│ ├── day14.ipynb # String Formatting and Text
│ ├── day15.ipynb # Numbers and Math
│ ├── day16.ipynb # Dates and Time
│ ├── day17.ipynb # CSV and JSON
│ ├── day18.ipynb # Thinking in Arrays
│ ├── day19.ipynb # Building a Data Pipeline
│ └── day20.ipynb # Introduction to Pandas!
├── install.sh ☆ INSERT COIN ☆
├── pylings-tui ☆ THE QUICK-PLAY BUTTON ☆
├── .gitmodules # Arcade cabinet map!
├── .gitignore # The invisible wall!
└── README.md # THIS VERY FILE! META!
This is where the ACTUAL teaching happens! Each notebook is a new LEVEL for the Gaby!
| Day | Title | What the Gaby will learn |
|---|---|---|
| 1 | Intro to Variables, Math, and basic Functions | Boxes for data! Math! The building blocks! |
| 2 | Deep dive into Data Types and Functions | Strings, Ints, Floats — OH MY! |
| 3 | Operators and Conditionals | Making DECISIONS! if, elif, else! |
| 4 | Scopes | Local vs. Global — the L.E.G.B. rule! |
| 5 | Loops | Around and around we GO! For, While, Break! |
| 6 | Error Handling | Try, Except, Raise — catching mistakes! |
| 7 | Classes and Inheritance | Blueprints for objects! Family trees for code! |
| 8 | Common Methods | Handy tools for Strings, Lists, Dicts! |
| 9 | File I/O | Read, Write, Append — talking to files! |
| 10 | Modules and Packages | Importing, pip, your own modules! |
| 11 | List Comprehensions | One-line power! Filter, transform, DONE! |
| 12 | Advanced Dicts and Sets | defaultdict, Counter, set magic! |
| 13 | Advanced Functions | *args, lambda, map, filter — OH MY! |
| 14 | String Formatting and Text | f-strings, regex, formatting galore! |
| 15 | Numbers and Math | math, random, statistics — number fun! |
| 16 | Dates and Time | datetime, timedelta — time travel! |
| 17 | CSV and JSON | Reading and writing data like a PRO! |
| 18 | Thinking in Arrays | zip(), column-based thinking, pre-pandas! |
| 19 | Building a Data Pipeline | Extract-Transform-Analyze-Output! |
| 20 | Introduction to Pandas | DataFrames! Series! REAL data analysis! |
Oh, oh, OH! This is my FAVORITE part! A self-checking practice system inspired by Rustlings! Each Practice/Mod{N}.py file looks like a REAL project module with # TODO markers and raise NotImplementedError() stubs. The Gaby replaces them with code and — WHOOSH — the checker says if it's CORRECT!
AND NOW, FOR OUR NEXT CHALLENGE — THE PYLINGS TUI!
That's right! I've built a FABULOUS keyboard-controlled Terminal User Interface! It's like a lazygit for learning Python! Just run:
pylingsAnd the Gaby will see a beautiful list of all exercises. Navigate with arrow keys, press ENTER to run a test, press h for hints, press e to edit the file, press r to refresh — it's a CONTROL PANEL for learning! Isn't that EXCITING? HAHAHA!
Not installed yet? Well then, let me wave my digital wand:
# Option A: The Full Install (builds + installs)
sh install.sh
# Option B: Quick play from the repo
./pylings-tuiThe first time install.sh runs, it ALSO initializes the submodule that contains all the Practice exercises. It's like a PRIZE DISPENSER — POP! Everything the Gaby needs comes out of one tiny script!
If the Gaby prefers the classic command-line experience (no fancy TUI):
pylings next # Run the next incomplete exercise
pylings list # Show progress on all exercises
pylings 3 # Run a specific moduleWhen ALL checks pass, remove the # I AM NOT DONE line from the file to mark it COMPLETE! Like hearing DING DING DING on a slot machine!
This is where the Gaby PUTS SKILLS TO THE TEST! Each assignment is like a BOSS LEVEL!
| Assignment | Title | What the Gaby will do |
|---|---|---|
| 1 | Cupcake Counter | Variables and functions to manage flour! |
| 2 | The Bakery's Price Check | Operators and conditionals to flag orders! |
| 3 | The Bakery Gets Bigger | Classes and Inheritance for baked goods! |
| 4 | The Bakery's Busy Day | Loops and Scopes to process orders! |
| 5 | The Bakery's Recipe Module | Organize recipes into a module! |
| 6 | The Bakery's Menu Board | List/dict/set comprehensions on menus! |
| 7 | The Bakery's Price Calculator | Advanced functions, lambdas, closures! |
| 8 | The Bakery's Delivery Schedule | Dates, times, timedeltas! |
| 9 | The Bakery's Sales Report | CSV in, JSON out! |
| 10 | The Bakery's Data Dashboard | FINAL BOSS — everything combined! |
Track progress and see SCORES in the Scoreboard — where the Gaby can see what's been MASTERED and what needs a little more... PRACTICE! Ooh, I love that word!
-
Start in the Training Room! Open the
Lesson/folder and go through the files in order. Read the comments — they're like the GAME MANUAL! -
Try the Bonus Round! Once a lesson clicks, head to the
Assignments/folder and show off what the Gaby has learned! -
Run the pylings! Use the
pylingscommand to practice with auto-graded exercises. The TUI makes it feel like a VIDEO GAME! -
Run the code! Open lesson notebooks in VS Code or Jupyter. For assignments, run them in the terminal:
python3 Assignments/assignment1.py
Oh! And speaking of helpful tools, here are some WONDERFUL resources I've curated:
-
Python by CS Dojo — A beginner-friendly YouTube playlist that walks through Python step by step. https://youtube.com/playlist?list=PLcVm1Sdt7y0S1x8it9UmrU-ocTHIr7RlH&si=T8d8lViiJoK2Bb3_
-
W3Schools Python Tutorial — A quick reference where the Gaby can read about ANY Python concept and test code right in the browser! https://www.w3schools.com/python/
-
The Zen of Python — A short list of guiding principles behind Python's design. Worth a read for the PHILOSOPHY! https://peps.python.org/pep-0020/#the-zen-of-python
NOW, THE GABY — our wonderful contestant — must step up to the ARCADE! The code awaits! The challenges call! The HIGH SCORE is there for the taking!
HAHAHA! Isn't this WONDERFUL?!
Let's go! 🕹️