# richardfu123/python100cases architecture

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

- Interactive diagram: https://gitdiagram.com/richardfu123/python100cases
- Repository: https://github.com/richardfu123/python100cases

## Overview

This repository is a collection of independently runnable Python examples, not a unified application. The demonstrated workflows range from terminal input and algorithmic results to linked-list operations and Tkinter drawings. The README gives only the collection title, and the sampled files do not establish how the other numbered examples are organized; the map therefore covers only demonstrated examples and their direct interactions.

Main entry points: [`100examples/014.py`](https://github.com/richardfu123/python100cases/blob/master/100examples/014.py) (Prime Factorization), [`100examples/011.py`](https://github.com/richardfu123/python100cases/blob/master/100examples/011.py) (Rabbit Growth), [`100examples/069.py`](https://github.com/richardfu123/python100cases/blob/master/100examples/069.py) (Josephus Elimination), [`100examples/094.py`](https://github.com/richardfu123/python100cases/blob/master/100examples/094.py) (Number Guessing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_algorithms["Algorithms"]
  node_factorization["Prime Factorization<br/>[014.py]"]
  node_rabbit["Rabbit Growth<br/>[011.py]"]
  node_elimination["Josephus Elimination<br/>[069.py]"]
end

subgraph group_structures["Data Structures"]
  node_lists["List Operations<br/>[090.py]"]
  node_linkedlist["Linked List<br/>[072.py]"]
  node_linkedreverse["List Reversal<br/>[073.py]"]
end

subgraph group_terminal["Terminal Examples"]
  node_guessing["Number Guessing<br/>[094.py]"]
  node_student["Student Scores<br/>[071.py]"]
end

subgraph group_graphics["Tkinter Graphics"]
  node_canvaslines["Line Patterns<br/>[057.py]"]
  node_canvasspirals["Animated Pattern<br/>[059.py]"]
  node_canvasgeometry["Geometric Shapes<br/>[064.py]"]
  node_canvaspoints["Point Connections<br/>[065.py]"]
end

node_user(("User"))
node_terminal["Terminal"]
node_tkcanvas["Tkinter Canvas"]

node_user -->|"enters integer"| node_factorization
node_factorization -->|"prints factors"| node_terminal
node_user -->|"enters months"| node_rabbit
node_rabbit -->|"prints growth"| node_terminal
node_user -->|"enters count"| node_elimination
node_elimination -->|"prints survivor"| node_terminal
node_user -->|"plays game"| node_guessing
node_guessing -->|"prompts and prints"| node_terminal
node_user -->|"enters records"| node_student
node_student -->|"prints records"| node_terminal
node_lists -->|"prints operations"| node_terminal
node_linkedlist -->|"prints list"| node_terminal
node_linkedreverse -->|"prints list and reverse"| node_terminal
node_canvaslines -->|"draws lines"| node_tkcanvas
node_canvasspirals -->|"draws pattern"| node_tkcanvas
node_canvasgeometry -->|"draws shapes"| node_tkcanvas
node_canvaspoints -->|"draws connections"| node_tkcanvas

click node_factorization "https://github.com/richardfu123/python100cases/blob/master/100examples/014.py"
click node_rabbit "https://github.com/richardfu123/python100cases/blob/master/100examples/011.py"
click node_elimination "https://github.com/richardfu123/python100cases/blob/master/100examples/069.py"
click node_guessing "https://github.com/richardfu123/python100cases/blob/master/100examples/094.py"
click node_student "https://github.com/richardfu123/python100cases/blob/master/100examples/071.py"
click node_lists "https://github.com/richardfu123/python100cases/blob/master/100examples/090.py"
click node_linkedlist "https://github.com/richardfu123/python100cases/blob/master/100examples/072.py"
click node_linkedreverse "https://github.com/richardfu123/python100cases/blob/master/100examples/073.py"
click node_canvaslines "https://github.com/richardfu123/python100cases/blob/master/100examples/057.py"
click node_canvasspirals "https://github.com/richardfu123/python100cases/blob/master/100examples/059.py"
click node_canvasgeometry "https://github.com/richardfu123/python100cases/blob/master/100examples/064.py"
click node_canvaspoints "https://github.com/richardfu123/python100cases/blob/master/100examples/065.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_factorization,node_rabbit,node_elimination,node_user toneBlue
class node_lists,node_linkedlist,node_linkedreverse toneAmber
class node_guessing,node_student toneMint
class node_canvaslines,node_canvasspirals,node_canvasgeometry,node_canvaspoints toneRose
class node_terminal,node_tkcanvas toneIndigo
```

## Components

### Algorithms

- [Prime Factorization](https://github.com/richardfu123/python100cases/blob/master/100examples/014.py): `100examples/014.py`
- [Rabbit Growth](https://github.com/richardfu123/python100cases/blob/master/100examples/011.py): `100examples/011.py`
- [Josephus Elimination](https://github.com/richardfu123/python100cases/blob/master/100examples/069.py): `100examples/069.py`

### Data Structures

- [List Operations](https://github.com/richardfu123/python100cases/blob/master/100examples/090.py): `100examples/090.py`
- [Linked List](https://github.com/richardfu123/python100cases/blob/master/100examples/072.py): `100examples/072.py`
- [List Reversal](https://github.com/richardfu123/python100cases/blob/master/100examples/073.py): `100examples/073.py`

### Terminal Examples

- [Number Guessing](https://github.com/richardfu123/python100cases/blob/master/100examples/094.py): `100examples/094.py`
- [Student Scores](https://github.com/richardfu123/python100cases/blob/master/100examples/071.py): `100examples/071.py`

### Tkinter Graphics

- [Line Patterns](https://github.com/richardfu123/python100cases/blob/master/100examples/057.py): `100examples/057.py`
- [Animated Pattern](https://github.com/richardfu123/python100cases/blob/master/100examples/059.py): `100examples/059.py`
- [Geometric Shapes](https://github.com/richardfu123/python100cases/blob/master/100examples/064.py): `100examples/064.py`
- [Point Connections](https://github.com/richardfu123/python100cases/blob/master/100examples/065.py): `100examples/065.py`

### Other components

- **User**
- **Terminal**
- **Tkinter Canvas**

## Connections

- User → Prime Factorization: enters integer
- Prime Factorization → Terminal: prints factors
- User → Rabbit Growth: enters months
- Rabbit Growth → Terminal: prints growth
- User → Josephus Elimination: enters count
- Josephus Elimination → Terminal: prints survivor
- User → Number Guessing: plays game
- Number Guessing → Terminal: prompts and prints
- User → Student Scores: enters records
- Student Scores → Terminal: prints records
- List Operations → Terminal: prints operations
- Linked List → Terminal: prints list
- List Reversal → Terminal: prints list and reverse
- Line Patterns → Tkinter Canvas: draws lines
- Animated Pattern → Tkinter Canvas: draws pattern
- Geometric Shapes → Tkinter Canvas: draws shapes
- Point Connections → Tkinter Canvas: draws connections
