title: Aplicación de estudio con tarjetas description: Estudia un mazo de tarjetas cargadas desde un archivo JSON, con seguimiento de puntuación entre sesiones.
Aplicación de estudio con tarjetas
Zee Oye, así que. Tengo el examen de sistemas de propulsión en seis semanas y aprendo mucho mejor poniéndome a prueba. ¿Puedes construir una aplicación de tarjetas? Carga tarjetas de un archivo, me muestra el frente, escribo mi respuesta, me dice si la acerté. Y quiero que guarde mi progreso para poder continuar donde lo dejé. Por favor 🙏
Qué estás construyendo
Mazo: python-basics.json (12 tarjetas)
Frente: ¿Qué devuelve len() para una cadena?
Tu respuesta: el número de caracteres
¡Correcto!
Frente: ¿Qué tipo devuelve siempre input()?
Tu respuesta: int
Incorrecto. La respuesta es: str
---
Sesión completada: 8/12 correctas.
Progreso guardado.Lo que necesitarás
- Clases y objetos - una clase
Cardy una claseDeckte dan una forma limpia de modelar los datos - Archivos y excepciones - cargar y guardar el mazo desde un archivo JSON, manejar un archivo faltante en la primera ejecución
- Módulos y la biblioteca estándar -
jsonpara manejo de archivos,randompara barajar - Diccionarios y listas - la estructura subyacente antes de envolverla en clases
- Control de flujo - recorrer el mazo, ramificar según la respuesta correcta o incorrecta
Pistas
Comienza con los datos, no con las clases. Una tarjeta son dos cadenas: frente y reverso. Un mazo es una lista de tarjetas. Primero haz que eso funcione, luego envuélvelo en clases si quieres la interfaz más limpia.
JSON maneja el formato del archivo. json.load() lee un archivo en una lista o diccionario de Python. json.dump() lo vuelve a escribir. El módulo json está en la biblioteca estándar.
Envuelve la carga del archivo en try/except. La primera vez que se ejecuta el script, el archivo guardado no existirá. Capturar FileNotFoundError te permite comenzar con un mazo vacío sin problemas en lugar de fallar.
Ir más allá
Una vez que funcione el bucle de estudio principal:
- Repite respuestas incorrectas. Mantén un registro de qué tarjetas obtuvo incorrectamente el jugador e itera a través de ellas nuevamente al final de la sesión.
- Múltiples mazos. Enumera los archivos
.jsondisponibles en una carpeta y permite que el usuario elija qué mazo estudiar. - Repetición espaciada. Registra cuántas veces cada tarjeta fue respondida correctamente. Muestra tarjetas respondidas correctamente menos frecuentemente con más frecuencia.

