You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Hello-Python/Basic/CLASE_03.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,17 @@
4
4
# Clase 03 — Operadores (Aritméticos, Comparación y Lógicos)
5
5
6
6
## Apertura narrativa
7
+
7
8
Los operadores son el lenguaje de las decisiones y los cálculos. Con ellos sumas un total, decides si una condición se cumple, o combinas reglas. Hoy verás cómo pensar y expresar operaciones de manera clara y segura.
8
9
9
10
## Por qué te importa
11
+
10
12
- Aritmética fiable para cálculos (precios, promedios, porcentajes).
11
13
- Comparación para validar entradas y ordenar decisiones.
12
14
- Lógica para combinar reglas (`and`/`or`/`not`) con precedencia clara.
13
15
14
16
## Demostración guiada
17
+
15
18
```python
16
19
# Aritmética
17
20
subtotal =120
@@ -29,43 +32,53 @@ print("¿Es mayor de edad?", edad >= mayor_de_edad)
- Orden y paréntesis: `**``>``*`, `/`, `//`, `%``>``+`, `-`; luego comparaciones; luego lógicos (`and` antes que `or`). Usa paréntesis si tienes dudas.
48
56
49
57
## Errores frecuentes
58
+
50
59
- División por cero: ZeroDivisionError.
51
60
- Comparar strings por longitud sin querer: usa `len(...)` explícitamente si eso buscas.
52
61
- Precedencia confusa: añade paréntesis para hacer la intención explícita.
53
62
54
63
## Prueba automática
64
+
55
65
- Desde Hello-Python: `../.venv/bin/python -m unittest -v`
56
66
- Deben pasar los tests de `tests/test_operators_utils.py`.
57
67
58
68
## Material de apoyo
69
+
59
70
- Utilidades de operadores: `Basic/operators_utils.py`
60
71
- Pruebas: `tests/test_operators_utils.py`
61
72
62
73
## Qué te llevas hoy
74
+
63
75
- Sabes combinar operadores aritméticos, de comparación y lógicos con claridad.
64
76
- Puedes validar entradas y calcular resultados evitando trampas comunes.
65
77
66
78
## Siguiente paso
79
+
67
80
- Condicionales: usarás operadores para tomar decisiones (`if`/`elif`/`else`) de manera estructurada.
68
81
69
82
---
70
83
71
-
**⬅️ [Anterior: Clase 02 - Variables y Strings](CLASE_02.md) | ⏭️ [Siguiente: Clase 04 - Listas](CLASE_04.md) | [🏠 Volver al Índice](../../HelloPython.md)**
84
+
**⬅️ [Anterior: Clase 02 - Variables y Strings](CLASE_02.md) | ⏭️ [Siguiente: Clase 04 - Listas](CLASE_04.md) | [🏠 Volver al Índice](../../HelloPython.md)**
Copy file name to clipboardExpand all lines: Hello-Python/Basic/CLASE_05.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,17 @@
4
4
# Clase 05 — Tuplas (colecciones ordenadas e inmutables)
5
5
6
6
## Apertura narrativa
7
+
7
8
Una tupla es como una foto: captura un conjunto de valores en un momento y no cambia. Cuando necesitas garantizar que “esto no se toca”, las tuplas te dan seguridad y claridad.
8
9
9
10
## Por qué te importa
11
+
10
12
- Estructuras datos ordenados que no deben cambiar (configuraciones, coordenadas, fechas).
11
13
- Te permite usar elementos como claves en diccionarios si son hashables.
12
14
- Evitas mutaciones accidentales que luego son difíciles de rastrear.
13
15
14
16
## Demostración guiada
17
+
15
18
```python
16
19
person = ("Brais", "Moure", 35)
17
20
print(len(person)) # medir
@@ -42,11 +45,13 @@ print(person2)
42
45
```
43
46
44
47
## Micro‑kata (7–10 min)
48
+
45
49
- Dada una tupla con nombres, crea otra tupla con nombres únicos preservando el orden.
46
50
- Muestra la subtupla de los 2 últimos nombres usando `tupla[-2:]`.
47
51
- Pista: usa `in`, `not in` y concatenación con `+`.
48
52
49
53
## Cheatsheet de tuplas
54
+
50
55
- Crear: `()`, `(elemento,)` para una tupla de 1 elemento, `tuple(iterable)`
51
56
- Medir: `len(tupla)`
52
57
- Acceso: `tupla[i]`, `tupla[-1]`
@@ -58,23 +63,28 @@ print(person2)
58
63
- Pertenencia: `in`, `not in`
59
64
60
65
## Errores frecuentes
66
+
61
67
-`TypeError` al intentar asignar `tupla[i] = valor` (inmutables).
62
68
-`ValueError` en `.index(x)` si `x` no existe.
63
69
- Desempaquetado con cantidades diferentes de variables y elementos.
64
70
65
71
## Prueba/ejecución (opcional)
72
+
66
73
- Ejecuta `Basic/05_tuples.py` para ver las demos.
67
74
- Practica convirtiendo entre `list` y `tuple` para mutar con control.
68
75
69
76
## Material de apoyo
77
+
70
78
- Código de referencia: `Basic/05_tuples.py`
71
79
72
80
## Qué te llevas hoy
81
+
73
82
- Sabes cuándo elegir `tuple` frente a `list` y cómo trabajar con slicing, conteo e inmutabilidad.
74
83
75
84
## Siguiente paso
85
+
76
86
- Clase 06: `set` (colecciones desordenadas, sin duplicados).
Copy file name to clipboardExpand all lines: Hello-Python/Basic/CLASE_06.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,17 @@
4
4
# Clase 06 — Sets (colecciones sin duplicados)
5
5
6
6
## Apertura narrativa
7
+
7
8
Un `set` es como una bolsa mágica donde cada cosa aparece solo una vez. Cuando limpias datos, buscas pertenencia rápida o quieres operaciones de teoría de conjuntos, `set` es tu mejor aliado.
8
9
9
10
## Por qué te importa
11
+
10
12
- Elimina duplicados de forma simple.
11
13
- Búsqueda de pertenencia `in`/`not in` muy eficiente.
Copy file name to clipboardExpand all lines: Hello-Python/Basic/CLASE_07.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,17 @@
4
4
# Clase 07 — Diccionarios (pares clave‑valor)
5
5
6
6
## Apertura narrativa
7
+
7
8
Un `dict` es como una agenda: buscas por clave y obtienes el valor al instante. Ideal para representar entidades (usuario, producto) y acceder a sus campos de forma directa.
8
9
9
10
## Por qué te importa
11
+
10
12
- Acceso por clave rápido y expresivo.
11
13
- APIs claras y extensibles para datos estructurados.
12
14
- Métodos útiles para inspección: `.keys()`, `.values()`, `.items()`.
13
15
14
16
## Demostración guiada
17
+
15
18
```python
16
19
user = {"nombre": "Brais", "apellido": "Moure", "edad": 35}
17
20
print(user["nombre"]) # acceso por clave
@@ -40,10 +43,12 @@ print(copia)
40
43
```
41
44
42
45
## Micro‑kata (7–10 min)
46
+
43
47
- Dada una lista de tuplas `(nombre, nota)`, crea un `dict` y muestra solo alumnos con nota `>= 7`.
44
48
- A partir de un `dict` de productos, calcula el `precio_total` acumulado.
Copy file name to clipboardExpand all lines: Hello-Python/Basic/CLASE_08.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,17 @@
4
4
# Clase 08 — Condicionales (tomar decisiones)
5
5
6
6
## Apertura narrativa
7
+
7
8
Los condicionales son tus semáforos lógicos: te permiten decidir qué camino tomar según los datos. Desde validar formularios hasta activar descuentos, `if`/`elif`/`else` son el corazón del control de flujo.
8
9
9
10
## Por qué te importa
11
+
10
12
- Activar o desactivar bloques de código según condiciones.
11
13
- Expresar reglas de negocio de forma clara y legible.
12
14
- Evitar errores típicos al comparar, combinar condiciones y tratar valores vacíos.
13
15
14
16
## Demostración guiada
17
+
15
18
```python
16
19
x =15
17
20
if x >10and x <20:
@@ -32,33 +35,40 @@ if s == "Hola":
32
35
```
33
36
34
37
## Micro‑kata (7–10 min)
38
+
35
39
- Pide una `edad` y clasifícala: `< 18` = "menor", `18–64` = "adulto", `>= 65` = "senior".
36
40
- Valida una contraseña: longitud `>= 8`, contiene dígito y letra; imprime mensajes claros.
37
41
38
42
## Cheatsheet de condicionales
43
+
39
44
- Estructura: `if`, `elif`, `else` (en orden mutuamente excluyente)
40
45
- Comparación: `==`, `!=`, `>`, `<`, `>=`, `<=`
41
46
- Lógicos: `and`, `or`, `not` (usa paréntesis si hay duda de precedencia)
42
47
- Pertenencia/identidad (avanzado): `in`, `not in`, `is`, `is not` (cuidado, `is` no es igual que `==`)
43
48
- Truthiness: vacío/`0`/`None`/colección vacía evalúan a `False`
44
49
45
50
## Errores frecuentes
51
+
46
52
- Escribir `=` en lugar de `==` al comparar.
47
53
- Ramas inalcanzables por orden incorrecto de condiciones.
48
54
- Olvidar paréntesis cuando mezclas `and` y `or` y cambia la intención.
49
55
50
56
## Prueba/ejecución (opcional)
57
+
51
58
- Ejecuta `Basic/08_conditionals.py` para ver las demos.
52
59
53
60
## Material de apoyo
61
+
54
62
- Código de referencia: `Basic/08_conditionals.py`
55
63
56
64
## Qué te llevas hoy
65
+
57
66
- Tomas decisiones claras con `if`/`elif`/`else` y dominas comparaciones y truthiness.
0 commit comments