Ejecuta cada solución en un entorno aislado. Los ejercicios simples validan la salida y los complejos usan pruebas educativas.
01
Iterable con recorridos independientes
Difícil
Implementa Coleccion como iterable reiniciable y un IteradorColeccion separado que conserve su posición, devuelva cada valor y termine con StopIteration.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
02
Descriptor de rango
Difícil
Implementa Rango(minimo, maximo) con __set_name__, __get__ y __set__ para validar valores inclusivos.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
03
Cadena cooperativa
Difícil
Completa Auditoria y Cache para añadir sus etiquetas y delegar con super hasta Base.procesar.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
04
Repositorio estructural
Difícil
Declara Buscable como Protocol con buscar(clave) -> str | None e implementa Memoria compatible sin heredar del protocolo.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
05
Pila genérica
Difícil
Implementa Pila[T] con push(valor: T), pop() -> T y len mediante __len__.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
06
Captura estable en bucles
Difícil
Implementa crear_multiplicadores(factores) para devolver funciones que conserven cada factor, sin late binding.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
07
Reintentos parametrizados
Difícil
Implementa reintentar(intentos) para repetir una función que lance ValueError y propagar el último fallo al agotar intentos.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
08
Acumulador controlable
Difícil
Implementa acumulador(estado): produce el total, suma valores recibidos con send, reinicia a cero si throw inyecta ValueError y marca estado['cerrado'] = True al cerrarse.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
09
Coordinar coroutines
Difícil
Implementa ejecutar() para iniciar valor(2) y valor(4) como tareas, esperar ambas y devolver su suma.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
10
TaskGroup estructurado
Difícil
Implementa ejecutar() con TaskGroup para crear tres tareas valor(1..3) y devolver sus resultados en orden.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
11
Generador asíncrono
Difícil
Implementa contar(limite) como generador asíncrono que produzca 0..limite-1 y recopílalo con async for.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
12
Clave de valor
Difícil
Implementa Clave inmutable con id y region, igualdad por ambos campos y hash coherente.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
13
Desestructurar eventos
Difícil
Implementa describir(evento) para reconocer {'tipo':'click','x':x,'y':y}, ['error', mensaje] y un caso desconocido.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.
14
Fibonacci con caché
Difícil
Decora fibonacci con lru_cache(maxsize=64) e implementa la recurrencia; calcula fibonacci(10) en resultado.
Enter ejecuta. Shift+Enter inserta una línea. Ctrl/Cmd+Enter también ejecuta todo el editor.
Python se carga al ejecutar
Pendiente
Consola / output
La salida aparecerá aquí.
Ejecuta CPython 3.14.2 con Pyodide 314.0.4 en un Worker dedicado. input() no está disponible; la red y las APIs del navegador se bloquean después de cargar el runtime. No es una frontera de seguridad perfecta: un bucle puede consumir CPU hasta que el Worker se termina.