Skip to content

CtrlUserKnown/GabyLearnsPython

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gaby Learns Python — THE GRAND ARCADE!

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!

Project Structure — THE ARCADE FLOORPLAN!

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!

What's inside? — THE THREE HIGH SCORES!

☆ The Training Room (Lessons) ☆

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!

★ THE PRACTICE CABINET! (Rustlings-style Exercises) ★

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:

pylings

And 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-tui

The 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 module

When 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!

☆ THE BONUS ROUND (Assignments) ☆

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!

How to play — THE GABY'S GUIDE!

  1. 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!

  2. Try the Bonus Round! Once a lesson clicks, head to the Assignments/ folder and show off what the Gaby has learned!

  3. Run the pylings! Use the pylings command to practice with auto-graded exercises. The TUI makes it feel like a VIDEO GAME!

  4. Run the code! Open lesson notebooks in VS Code or Jupyter. For assignments, run them in the terminal:

    python3 Assignments/assignment1.py

Resources — THE CHEAT CODE VAULT!

Oh! And speaking of helpful tools, here are some WONDERFUL resources I've curated:


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! 🕹️

About

A Python tutoring repo I built to teach a beginner from the ground up. Features 20 lessons, bakery-themed assignments, and a self-checking practice system inspired by Rustlings.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors