Aprende leyendo en orden

Problemas de cierre de Fundamentos de Python — Pon en código lo que aprendiste

Tres ejercicios de repaso de Python básico. Convierte "1995-08-21" con split e int(), analiza entregas con operaciones de conjuntos y compara el comportamiento de referencias con asignación y copy().

Problema 1: Analizar una cadena de fecha y reformatearla

Toma una cadena de cumpleaños birthday y conviértela en un formato más legible para humanos. Divide la cadena con split, convierte cada parte a entero con int() y vuelve a unir el resultado con un f-string.

Cómo descomponer una cadena y convertirla a números
"1995-08-21"cadena original["1995", "08", "21"]resultado de split("-")1995 / 8 / 21convertido con int()"21 de agosto de 1995"formateado con f-stringsplitintf-string
Divide en una lista de 3 elementos y luego usa int() para quitar los ceros a la izquierda. Por último, construye el resultado con un f-string.

Toma la cadena birthday = "1995-08-21" y construye una cadena de fecha legible con el formato 21 de agosto de 1995.

Asegúrate de que el día no conserve el cero a la izquierda (08 debe aparecer como 8).

Editor Python

Ejecutar el código para ver el resultado

Problema 2: Comparar entregas con operaciones de conjuntos

Quieres comparar quién entregó la tarea A y quién entregó la tarea B. Con operaciones de conjuntos puedes obtener las personas que entregaron ambas y las que solo entregaron una de las dos en una sola línea cada una.

Cómo & y ^ producen resultados distintos a partir de set_a y set_b
set_a{Alice, Bob, Carol, Dave}set_b{Bob, Carol, Eve}{Bob, Carol}{Alice, Dave, Eve}set_a & set_bset_a ^ set_b
Ambos conjuntos alimentan la misma operación; la etiqueta de la flecha indica qué operación es y la punta muestra el resultado.

Quienes entregaron la tarea A son submitted_a = ["Alice", "Bob", "Carol", "Dave"] y quienes entregaron la tarea B son submitted_b = ["Bob", "Carol", "Eve"].

A partir de estas dos listas, encuentra las personas que entregaron ambas y las personas que entregaron solo una de las dos, e imprime cada resultado como una lista ordenada alfabéticamente.

Editor Python

Ejecutar el código para ver el resultado

Problema 3: Ver cómo funciona realmente la mutabilidad

Crees haber copiado una lista a una nueva variable, pero las dos en realidad apuntan al mismo objeto: ese es el clásico tropiezo con los valores mutables en Python. Prueba a cambiar el original después de usar copy() y después de una asignación normal y observa qué pasa.

La asignación comparte una referencia; copy() crea un objeto nuevo
group_a = students(asignación)group_b = students.copy()(copia)Misma lista, dos nombresstudents → [A, B]group_a → [A, B]Lista separadagroup_b → [A, B]Tras append("Carol")students → [A, B, Carol]group_a → [A, B, Carol]No le afecta appendgroup_b sigue [A, B]compartidaindependiente
La asignación simplemente le da a la misma lista un segundo nombre. Si cambias el original después, verás el cambio a través de ambos nombres. copy() construye una lista separada, así que queda intacta.

Este ejercicio trata de observar la diferencia entre la asignación y copy(). Construye una lista students con dos nombres y luego crea dos variables más: una asignada directamente desde students (group_a) y otra creada con copy() (group_b).

Después, agrega un tercer estudiante a students y muestra students, group_a y group_b en orden para ver si el nuevo estudiante aparece en cada una.

Editor Python

Ejecutar el código para ver el resultado

¡Buen trabajo llegando hasta aquí!

Con esto cierras Fundamentos de Python. Has cubierto las variables y los tipos de datos, cómo elegir entre cadenas, listas, dicts y sets, y la diferencia entre asignación y copy() con valores mutables: prácticamente todas las herramientas que necesitas para manejar datos en el día a día. Desde imprimir valores simples hasta combinar tipos y transformar datos, ahora puedes escribir y ejecutar esos programas por tu cuenta.

El siguiente capítulo, Sintaxis de Python, trae el control de flujo con el que realmente diriges un programa: if, for, while, además de definiciones de funciones con def / lambda, comprensiones de listas, decoradores, generadores y manejo de excepciones con try / except.