# codedex-io/python-101 architecture

> Architecture diagram of the GitHub repository codedex-io/python-101, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/codedex-io/python-101
- Repository: https://github.com/codedex-io/python-101

## Overview

The repository is a collection of beginner Python exercise solutions, organized as a course from basic output and variables through control flow, collections, functions, classes, and modules. A learner follows the Codédex course and runs individual scripts to practice a concept and see its output. The graph groups related exercise stages rather than implying that scripts call one another. README establishes the course sequence and exercise topics; sampled scripts show direct input, computation, and printed output, but not a shared runtime or application architecture.

Main entry points: [`2-variables`](https://github.com/codedex-io/python-101/tree/main/2-variables) (Variables and Math), [`7-classes-objects/38_pokedex_2.py`](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/38_pokedex_2.py) (Pokédex), [`8-modules/39_slot_machine_2.py`](https://github.com/codedex-io/python-101/blob/main/8-modules/39_slot_machine_2.py) (Slot Machine), [`1-hello-world`](https://github.com/codedex-io/python-101/tree/main/1-hello-world) (Setup and Output)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundations["Python Foundations"]
  node_setup_output["Setup and Output"]
  node_text_art["Text Art"]
  node_variables["Variables and Math"]
end

subgraph group_logic["Program Logic"]
  node_conditionals["Conditionals"]
  node_quiz_scoring["Quiz Scoring"]
  node_loops["Loops"]
end

subgraph group_data["Data and Functions"]
  node_lists["List Exercises"]
  node_functions["Function Exercises"]
  node_fortune_cookie["Fortune Cookie"]
end

subgraph group_objects["Classes and Objects"]
  node_restaurant_objects["Restaurant Objects<br/>[35_bobs_burgers.py]"]
  node_city_objects["City Objects"]
  node_bank_accounts["Bank Accounts"]
  node_pokedex["Pokédex<br/>[38_pokedex_2.py]"]
end

subgraph group_modules["Modules"]
  node_slot_machine["Slot Machine"]
  node_solar_system["Solar System<br/>[40_solar_system.py]"]
  node_birthday_modules["Birthday Modules<br/>[41_main.py]"]
  node_zen["Zen of Python<br/>[43_zen.py]"]
end

node_learner(("Learner"))
node_script_output["Printed Results"]

node_learner -->|"starts course"| node_setup_output
node_setup_output -->|"continues to"| node_text_art
node_text_art -->|"continues to"| node_variables
node_variables -->|"continues to"| node_conditionals
node_conditionals -->|"continues to"| node_loops
node_loops -->|"continues to"| node_lists
node_lists -->|"continues to"| node_functions
node_functions -->|"continues to"| node_restaurant_objects
node_restaurant_objects -->|"continues to"| node_city_objects
node_city_objects -->|"continues to"| node_bank_accounts
node_bank_accounts -->|"continues to"| node_pokedex
node_pokedex -->|"continues to"| node_slot_machine
node_slot_machine -->|"continues to"| node_solar_system
node_solar_system -->|"continues to"| node_birthday_modules
node_birthday_modules -->|"continues to"| node_zen
node_learner -->|"answers questions"| node_quiz_scoring
node_quiz_scoring -->|"prints scores"| node_script_output
node_learner -->|"runs exercise"| node_fortune_cookie
node_fortune_cookie -->|"prints fortunes"| node_script_output
node_learner -->|"plays game"| node_slot_machine
node_slot_machine -->|"prints spins"| node_script_output
node_learner -->|"enters values"| node_variables
node_variables -->|"prints calculation"| node_script_output
node_learner -->|"runs examples"| node_pokedex
node_pokedex -->|"speaks Pokémon"| node_script_output

click node_setup_output "https://github.com/codedex-io/python-101/tree/main/1-hello-world"
click node_text_art "https://github.com/codedex-io/python-101/tree/main/1-hello-world"
click node_variables "https://github.com/codedex-io/python-101/tree/main/2-variables"
click node_conditionals "https://github.com/codedex-io/python-101/tree/main/3-control-flow"
click node_quiz_scoring "https://github.com/codedex-io/python-101/blob/main/3-control-flow/16_sorting_hat_1.py"
click node_loops "https://github.com/codedex-io/python-101/tree/main/4-loops"
click node_lists "https://github.com/codedex-io/python-101/tree/main/5-lists"
click node_functions "https://github.com/codedex-io/python-101/tree/main/6-functions"
click node_fortune_cookie "https://github.com/codedex-io/python-101/blob/main/6-functions/29_fortune_cookie_2.py"
click node_restaurant_objects "https://github.com/codedex-io/python-101/blob/main/7-classes-objects/35_bobs_burgers.py"
click node_city_objects "https://github.com/codedex-io/python-101/blob/main/7-classes-objects/36_favorite_cities.py"
click node_bank_accounts "https://github.com/codedex-io/python-101/blob/main/7-classes-objects/37_bank_accounts.py"
click node_pokedex "https://github.com/codedex-io/python-101/blob/main/7-classes-objects/38_pokedex_2.py"
click node_slot_machine "https://github.com/codedex-io/python-101/blob/main/8-modules/39_slot_machine_2.py"
click node_solar_system "https://github.com/codedex-io/python-101/blob/main/8-modules/40_solar_system.py"
click node_birthday_modules "https://github.com/codedex-io/python-101/blob/main/8-modules/41_main.py"
click node_zen "https://github.com/codedex-io/python-101/blob/main/8-modules/43_zen.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_setup_output,node_text_art,node_variables toneBlue
class node_conditionals,node_quiz_scoring,node_loops toneAmber
class node_lists,node_functions,node_fortune_cookie toneMint
class node_restaurant_objects,node_city_objects,node_bank_accounts,node_pokedex toneRose
class node_slot_machine,node_solar_system,node_birthday_modules,node_zen,node_learner,node_script_output toneIndigo
```

## Components

### Python Foundations

- [Setup and Output](https://github.com/codedex-io/python-101/tree/main/1-hello-world): `1-hello-world`
- [Text Art](https://github.com/codedex-io/python-101/tree/main/1-hello-world): `1-hello-world`
- [Variables and Math](https://github.com/codedex-io/python-101/tree/main/2-variables): `2-variables`

### Program Logic

- [Conditionals](https://github.com/codedex-io/python-101/tree/main/3-control-flow): `3-control-flow`
- [Quiz Scoring](https://github.com/codedex-io/python-101/blob/main/3-control-flow/16_sorting_hat_1.py): `3-control-flow/16_sorting_hat_1.py`
- [Loops](https://github.com/codedex-io/python-101/tree/main/4-loops): `4-loops`

### Data and Functions

- [List Exercises](https://github.com/codedex-io/python-101/tree/main/5-lists): `5-lists`
- [Function Exercises](https://github.com/codedex-io/python-101/tree/main/6-functions): `6-functions`
- [Fortune Cookie](https://github.com/codedex-io/python-101/blob/main/6-functions/29_fortune_cookie_2.py): `6-functions/29_fortune_cookie_2.py`

### Classes and Objects

- [Restaurant Objects](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/35_bobs_burgers.py): `7-classes-objects/35_bobs_burgers.py`
- [City Objects](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/36_favorite_cities.py): `7-classes-objects/36_favorite_cities.py`
- [Bank Accounts](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/37_bank_accounts.py): `7-classes-objects/37_bank_accounts.py`
- [Pokédex](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/38_pokedex_2.py): `7-classes-objects/38_pokedex_2.py`

### Modules

- [Slot Machine](https://github.com/codedex-io/python-101/blob/main/8-modules/39_slot_machine_2.py): `8-modules/39_slot_machine_2.py`
- [Solar System](https://github.com/codedex-io/python-101/blob/main/8-modules/40_solar_system.py): `8-modules/40_solar_system.py`
- [Birthday Modules](https://github.com/codedex-io/python-101/blob/main/8-modules/41_main.py): `8-modules/41_main.py`
- [Zen of Python](https://github.com/codedex-io/python-101/blob/main/8-modules/43_zen.py): `8-modules/43_zen.py`

### Other components

- **Learner**
- **Printed Results**

## Connections

- Learner → Setup and Output: starts course (evidence: `README.md`)
- Setup and Output → Text Art: continues to (evidence: `README.md`)
- Text Art → Variables and Math: continues to (evidence: `README.md`)
- Variables and Math → Conditionals: continues to (evidence: `README.md`)
- Conditionals → Loops: continues to (evidence: `README.md`)
- Loops → List Exercises: continues to (evidence: `README.md`)
- List Exercises → Function Exercises: continues to (evidence: `README.md`)
- Function Exercises → Restaurant Objects: continues to (evidence: `README.md`)
- Restaurant Objects → City Objects: continues to (evidence: `README.md`)
- City Objects → Bank Accounts: continues to (evidence: `README.md`)
- Bank Accounts → Pokédex: continues to (evidence: `README.md`)
- Pokédex → Slot Machine: continues to (evidence: `README.md`)
- Slot Machine → Solar System: continues to (evidence: `README.md`)
- Solar System → Birthday Modules: continues to (evidence: `README.md`)
- Birthday Modules → Zen of Python: continues to (evidence: `README.md`)
- Learner → Quiz Scoring: answers questions (evidence: `3-control-flow/16_sorting_hat_1.py`)
- Quiz Scoring → Printed Results: prints scores (evidence: `3-control-flow/16_sorting_hat_1.py`)
- Learner → Fortune Cookie: runs exercise (evidence: `6-functions/29_fortune_cookie_2.py`)
- Fortune Cookie → Printed Results: prints fortunes (evidence: `6-functions/29_fortune_cookie_2.py`)
- Learner → Slot Machine: plays game (evidence: `8-modules/39_slot_machine_2.py`)
- Slot Machine → Printed Results: prints spins (evidence: `8-modules/39_slot_machine_2.py`)
- Learner → Variables and Math: enters values (evidence: `2-variables/10_currency.py`)
- Variables and Math → Printed Results: prints calculation (evidence: `2-variables/10_currency.py`)
- Learner → Pokédex: runs examples (evidence: `7-classes-objects/38_pokedex_2.py`)
- Pokédex → Printed Results: speaks Pokémon (evidence: `7-classes-objects/38_pokedex_2.py`)
