Indice de contenidos
ObjetivoInstalación
Listar los ejercicios
Obtener un ejercicio
Leer un ejercicio
Probar un ejercicio
Ejecutar un ejercicio
Actualizar un ejercicio
Comprimir un ejercicio
Autenticarse como usuario
Seguir tu actividad
Miscelánea
Objetivo
Pypas te ofrece cientos de ejercicios con los que podrás practicar tu lenguaje de programación favorito Python.
Aprende Python comiendo pipas!
Se proporciona una herramienta en línea de comandos pypas
mediante la cual podrás interactuar con los ejercicios.
Instalación
Necesitas tener --al menos-- Python 3.12 instalado en tu máquina.
$ pip install pypas-cli
Es importante que tengas la última versión instalada, para evitar fallos y disponer de las últimas características. Para actualizar a la última versión de pypas-cli:
$ pip install -U pypas-cli # pypas upgrade
Listar los ejercicios
$ pypas list
Es posible filtrar por tema principal (topic):
$ pypas list -p <topic>
Es posible filtrar por tema secundario (topic):
$ pypas list -s <topic>
En el caso de disponer de varios frames activos, puedes filtrar por frame:
$ pypas list -f <frame>
Los filtros anteriores pueden usarse de manera conjunta.
Obtener un ejercicio
Cada ejercicio dispone de un slug que lo identifica (nombre único):
$ pypas get <slug>
El comando anterior creará la siguiente estructura de ficheros dentro de la carpeta del ejercicio:
.
├── docs
│ └── README.pdf
├── main.py
├── tests
│ ├── __init__.py
│ └── test_main.py
└── vendor.py
Es posible que esta estructura cambie ligeramente, en función de las características del ejercicio.
Leer un ejercicio
Una vez en la carpeta del ejercicio:
$ pypas doc
El comando anterior abrirá el documento con el enunciado del ejercicio.
Probar un ejercicio
El punto de entrada de cualquier ejercicio es main.py
. Será el fichero que debes cumplimentar buscando la etiqueta # TODO
Para probar (testear) un ejercicio puedes usar:
$ pypas test
En realidad es un simple wrapper para pytest.
Aprovecha todo el potencial de pytest usando las opciones en línea de comandos que ofrece.
Los tests que se ejecutan son aquellos que viven en la carpeta tests
de cada carpeta de ejercicio. Por lo tanto también puedes probar el ejercicio con:
$ pytest
Ejecutar un ejercicio
Eventualmente podrías querer ejecutar tu código en vez de lanzar las pruebas.
Para explicar cómo, vamos a partir de un ejercicio "ficticio" simple_add.py
:
def add(x: int, y: int) -> int:
return x + y
# DO NOT TOUCH THE CODE BELOW
# ...
Tendrás que crear un fichero args.py
dentro de la carpeta del ejercicio con los valores que quieras dar a los parámetros de la función principal:
x = 3
y = 7
Ahora podrás ejecutar tu programa con:
$ python simple_add.py
Puedes utilizar esta estrategia para depurar los errores o mejorar tu código.
Actualizar un ejercicio
Es posible que, debido a la corrección de errores o mejoras introducidas, haya actualizaciones de los ejercicios. En ese caso, puedes actualizar el ejercicio con:
$ pypas update
Se hará automáticamente una copia de seguridad (local) de aquellos ficheros que puedan ser sobreescritos.
Comprimir un ejercicio
Si quisieras comprimir todo el contenido del ejercicio para enviarlo o almacenarlo, lo puedes hacer con:
$ pypas zip
El comando anterior genera un fichero <exercise-slug>.zip
dentro de la propia carpeta del ejercicio.
Autenticarse como usuario
Para poder autenticarte como usuario debes recibir un token por parte del administrador. Una vez que dispongas de este token debes ejecutar el siguiente comando:
$ pypas auth <token>
Si la autenticación ha sido satisfactoria, se creará un fichero .pypas.toml
en el HOME del usuario con la configuración correspondiente.
Desautenticarse
Es posible borrar el token de autenticación ejecutando: pypas unauth
Entregar un ejercicio
$ pypas put
El comando anterior comprimirá todos los archivos de tu ejercicio y los subirá a pypas.es
Seguir tu actividad
$ pypas log
Con el comando anterior podrás obtener la información de tus entregas, separadas por frames. Un frame es un "bloque de ejercicios" que suele tener asociada una fecha de comienzo y una fecha de finalización.
Dentro de cada frame verás la siguientes información:
- Uploaded: número de ejercicios entregados sobre el total de ejercicios del frame.
- Passed: número de ejercicios que han pasado todos los tests.
- Failed: número de ejercicios que no han pasado todos los tests.
- Waiting: número de ejercicios que están pendientes de testearse.
- Score: nota (puntuación). Ejercicios satisfactorios (passed) entre el total disponible.
Si queremos obtener información sobre los ejercicios entregados podemos ejecutar: pypas log -v
Si queremos obtener información de un determinado frame: pypas log -f <frame>
Miscelánea
pypas --version
te proporciona la versión actual instalada de pypas-cli.pypas --help
te proporciona ayuda del programa. Puedes aplicar --help sobre cualquier comando.- Si quieres informar de cualquier error o propuesta de mejora, lo puedes hacer en GitHub o escribiendo un correo (ver footer).