Skip to content

Commit cdd73d2

Browse files
committed
Update Readme.md for Sesión 12 with best practices and type annotations
1 parent edc1257 commit cdd73d2

File tree

1 file changed

+100
-15
lines changed

1 file changed

+100
-15
lines changed

content/sesion12/Readme.md

Lines changed: 100 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,7 @@ print (fibonacci(5))
591591

592592
Documentación estilo NumPy
593593

594-
```python
594+
```python [3|5-8|10-13|15-18|20-23]
595595
def fibonacci(n: int) -> str:
596596
"""
597597
Devuelve la secuencia de Fibonacci hasta el n-ésimo número.
@@ -677,7 +677,7 @@ print (fibonacci(5))
677677

678678
Documentación estilo reST
679679

680-
```python
680+
```python [3|5-6|7-8|9|10-12]
681681
def fibonacci(n: int) -> str:
682682
"""
683683
Devuelve la secuencia de Fibonacci hasta el n-ésimo número.
@@ -1408,27 +1408,112 @@ psg-oop-2025/
14081408

14091409
---
14101410

1411+
1. Una empresa de juegos moviles crea un nuevo juego **Dados de la Suerte**, las reglas son sencillas:
1412+
1413+
- El jugador lanza **dos** dados
1414+
- Si la suma es **7 o 11 gana**
1415+
- Si es **2, 3 o 12 pierde**
1416+
- Con cualquier otro valor puede volver a lanzar los dados.
1417+
1418+
En el futuro tiene planificado registrar el nombre del jugador y su puntuación más alta
1419+
pero para el lanzamiento inicial no es necesario
1420+
1421+
*(1/5)*
1422+
14111423
---
14121424

1413-
1. Un juego de dados de la suerte, el jugador lanza dos dados y si la suma es 7 o 11 gana, si es 2, 3 o 12 pierde, cualquier otro valor puede volver a lanzar los dados. En un futuro podrías registrar el nombre del jugador y su puntuación más alta.
14141425

1415-
```markdown
1416-
- Crea el análisis, diagrama de clases y el código.
1417-
- Documenta el código y usa anotaciones de tipo.
1426+
Cuenta con un flujo básico:
1427+
1428+
- Jugador inicia el juego
1429+
- Juego lanza los dados automáticamente
1430+
- Juego muestra el resultado y si ganó, perdió o si puede volver a lanzar
1431+
- Jugador responde SI o NO para volver a lanzar los dados
1432+
- El juego termina cuando el jugador decide NO lanzar más o gana o pierde
1433+
- El juego muestra un mensaje final con el resultado
1434+
1435+
*(2/5)*
1436+
1437+
1438+
---
1439+
1440+
- Crea la clase `DadosDeLaSuerte` donde se implemente el flujo básico del juego
1441+
- Identifica atributos y métodos relevantes para la clase
1442+
- Implementa la **lógica del juego** según las reglas descritas
1443+
- Documenta el código y usa **anotaciones de tipo**
14181444
- Utiliza los principios KISS, DRY y YAGNI
1419-
- Utiliza algún estilo de documentación
1420-
```
1445+
1446+
*(3/5)*
14211447

14221448
---
14231449

1424-
2. Un sistema de gestión de tareas, donde se pueden agregar, eliminar y marcar tareas como completadas. En un futuro podrías agregar fechas de vencimiento y prioridades a las tareas.
1450+
Realiza el **análisis** y **diagrama de clases** en el archivo `ejercicio_01.md`
14251451

1426-
```markdown
1427-
Crea el análisis, diagrama de clases y el código.
1428-
Documenta el código y usa anotaciones de tipo.
1429-
Utiliza los principios KISS, DRY y YAGNI
1430-
Utiliza algún estilo de documentación
1431-
```
1452+
Escribe el código en Python para la clase de tu diagrama de clases en el archivo `ejercicio_01.py`
1453+
1454+
*(4/5)*
1455+
1456+
---
1457+
1458+
- Asegúrate de que la clase incluyan *atributos* y *métodos* coherentes con su propósito
1459+
- Utiliza buenas prácticas de *nomenclatura*, *legibilidad* y *PEP 8*
1460+
- Juega varias veces para verificar que la lógica del juego funciona correctamente
1461+
1462+
*(5/5)*
1463+
1464+
---
1465+
1466+
2. Una empresa de citas necesita un programa para gestionar tareas.
1467+
1468+
El programa puede:
1469+
1470+
- Agregar nuevas tareas
1471+
- Eliminar tareas existentes
1472+
- Marcar tareas como completadas
1473+
1474+
En el futuro se planea agregar fechas de vencimiento y prioridades a las tareas
1475+
1476+
*(1/5)*
1477+
1478+
---
1479+
1480+
Cada tarea tiene un *título*, una *descripción* y un *estado* (completada o no completada).
1481+
1482+
Cuenta con un menú básico:
1483+
1484+
1. **Agregar** una nueva tarea proporcionando un título y una descripción
1485+
2. **Eliminar** una tarea por su título
1486+
3. **Marcar** una tarea como completada por su título
1487+
4. **Listar** todas las tareas con su estado actual
1488+
1489+
*(2/5)*
1490+
1491+
---
1492+
1493+
- Crea la clase `Tarea` para representar una tarea individual con atributos y métodos relevantes
1494+
- Crea la clase `GestorDeTareas` para gestionar **una colección** de tareas, incluyendo métodos para agregar, eliminar y marcar tareas como completadas
1495+
- Documenta el código y usa **anotaciones de tipo**
1496+
- Utiliza los principios KISS, DRY y YAGNI
1497+
1498+
*(3/5)*
1499+
1500+
---
1501+
1502+
- Realiza el **análisis** y **diagrama de clases** en el archivo `ejercicio_02.md`
1503+
- Escribe el código en Python para las clases de tu diagrama de clases en el archivo `ejercicio_02.py`
1504+
- Implementa un menú interactivo para que el usuario pueda gestionar las tareas
1505+
- Documenta el código y usa **anotaciones de tipo**
1506+
- Utiliza los principios KISS, DRY y YAGNI
1507+
1508+
*(4/5)*
1509+
1510+
---
1511+
1512+
- Asegúrate de que las clases incluyan *atributos* y *métodos* coherentes con su propósito
1513+
- Utiliza buenas prácticas de *nomenclatura*, *legibilidad* y *PEP 8*
1514+
- Prueba las clases creando instancias y realizando operaciones de agregar, eliminar y marcar tareas como completadas
1515+
1516+
*(5/5)*
14321517

14331518
---
14341519

0 commit comments

Comments
 (0)