# jalciro/taller_python architecture

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

- Interactive diagram: https://gitdiagram.com/jalciro/taller_python
- Repository: https://github.com/jalciro/taller_python

## Overview

This repository is a set of standalone Python learning exercises, not a packaged application. Its clearest end-to-end workflow is the integrator: prompt for student records, validate grades, calculate each average and pass/fail status, then summarize the group. Other scripts independently demonstrate variables and arithmetic, branching, loops, exception handling, and in-memory lists. The files are not wired together; edges represent interactions within the integrator only. The README is empty, so the tree and sampled scripts are the evidence for these capabilities.

Main entry points: [`Integrador.py`](https://github.com/jalciro/taller_python/blob/main/Integrador.py) (Student grade workflow), [`variables.py`](https://github.com/jalciro/taller_python/blob/main/variables.py) (Variables and input), [`condicionales.py`](https://github.com/jalciro/taller_python/blob/main/condicionales.py) (Branching exercises), [`ciclos.py`](https://github.com/jalciro/taller_python/blob/main/ciclos.py) (Loop exercises)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_integrator["Grade integrator"]
  node_integrator["Student grade workflow<br/>[Integrador.py]"]
  node_grade_input["Validated grade input<br/>[Integrador.py]"]
  node_evaluation["Average and status<br/>[Integrador.py]"]
  node_summary["Group summary<br/>[Integrador.py]"]
end

subgraph group_fundamentals["Python fundamentals"]
  node_variables["Variables and input<br/>[variables.py]"]
  node_syntax["Syntax and output"]
  node_operators["Arithmetic examples<br/>[operadores.py]"]
end

subgraph group_control["Control flow"]
  node_conditionals["Branching exercises<br/>[condicionales.py]"]
  node_loops["Loop exercises<br/>[ciclos.py]"]
  node_errors["Exception handling<br/>[errores.py]"]
end

subgraph group_collections["Collections"]
  node_lists["Pet lists<br/>[lista.py]"]
end

node_user(("User"))

node_user -->|"enters records"| node_integrator
node_integrator -->|"validates grades"| node_grade_input
node_grade_input -->|"provides grades"| node_evaluation
node_evaluation -->|"updates totals"| node_summary
node_integrator -->|"prints report"| node_summary
node_user -->|"enters values"| node_variables
node_user -->|"enters values"| node_conditionals
node_user -->|"enters values"| node_loops
node_user -->|"enters values"| node_errors
node_user -->|"selects actions"| node_lists

click node_integrator "https://github.com/jalciro/taller_python/blob/main/Integrador.py"
click node_grade_input "https://github.com/jalciro/taller_python/blob/main/Integrador.py"
click node_evaluation "https://github.com/jalciro/taller_python/blob/main/Integrador.py"
click node_summary "https://github.com/jalciro/taller_python/blob/main/Integrador.py"
click node_variables "https://github.com/jalciro/taller_python/blob/main/variables.py"
click node_syntax "https://github.com/jalciro/taller_python/blob/main/sintaxis_basicas.py"
click node_operators "https://github.com/jalciro/taller_python/blob/main/operadores.py"
click node_conditionals "https://github.com/jalciro/taller_python/blob/main/condicionales.py"
click node_loops "https://github.com/jalciro/taller_python/blob/main/ciclos.py"
click node_errors "https://github.com/jalciro/taller_python/blob/main/errores.py"
click node_lists "https://github.com/jalciro/taller_python/blob/main/lista.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_integrator,node_grade_input,node_evaluation,node_summary,node_user toneBlue
class node_variables,node_syntax,node_operators toneAmber
class node_conditionals,node_loops,node_errors toneMint
class node_lists toneRose
```

## Components

### Grade integrator

- [Student grade workflow](https://github.com/jalciro/taller_python/blob/main/Integrador.py): `Integrador.py`
- [Validated grade input](https://github.com/jalciro/taller_python/blob/main/Integrador.py): `Integrador.py`
- [Average and status](https://github.com/jalciro/taller_python/blob/main/Integrador.py): `Integrador.py`
- [Group summary](https://github.com/jalciro/taller_python/blob/main/Integrador.py): `Integrador.py`

### Python fundamentals

- [Variables and input](https://github.com/jalciro/taller_python/blob/main/variables.py): `variables.py`
- [Syntax and output](https://github.com/jalciro/taller_python/blob/main/sintaxis_basicas.py): `sintaxis_basicas.py`
- [Arithmetic examples](https://github.com/jalciro/taller_python/blob/main/operadores.py): `operadores.py`

### Control flow

- [Branching exercises](https://github.com/jalciro/taller_python/blob/main/condicionales.py): `condicionales.py`
- [Loop exercises](https://github.com/jalciro/taller_python/blob/main/ciclos.py): `ciclos.py`
- [Exception handling](https://github.com/jalciro/taller_python/blob/main/errores.py): `errores.py`

### Collections

- [Pet lists](https://github.com/jalciro/taller_python/blob/main/lista.py): `lista.py`

### Other components

- **User**

## Connections

- User → Student grade workflow: enters records
- Student grade workflow → Validated grade input: validates grades
- Validated grade input → Average and status: provides grades
- Average and status → Group summary: updates totals
- Student grade workflow → Group summary: prints report
- User → Variables and input: enters values
- User → Branching exercises: enters values
- User → Loop exercises: enters values
- User → Exception handling: enters values
- User → Pet lists: selects actions
