Intro

Este notebook se podrá usar como plantilla para resolver los ejercicios PyBites de la plataforma codechalleng.es

Uso

  • En la PyBites Platform selecciona un Bite Exercise y haz clic en GITHUB -> DOWNLOAD BITE
  • Copiar este notebook a la carpeta pybites_biteXYZ, ejemplo: pybites_bite130.
  • Abrir el notebook y ejecutar todas las celdas ( Cell -> Run All ).
  • Cargar (%load) el módulo python ejecutando la segunda celda (más abajo) para resolver ejercicio.
  • Escribir (%%writefile) al módulo python la respuesta al ejercicio. Leer la Nota para más detalles.
  • Ejecutar las pruebas, descomentar y ejecutar la última celda utilizando PyTest.
    Note: El comando mágico de celda %%writefile debes estar en la primera línea, borra el comentario generado por el comando mágico de línea %load .
from pathlib import Path
from IPython.display import HTML

BITE = "./bite.html"
files = Path().glob("test_*.py")
try:
    PYBITES = next(files)
except StopIteration:
    raise(Exception("PYBITES_TEMPLATE " +
                    "must be inside pybite_biteXYZ " +
                    "folder with a test file"))

if PYBITES:
    PYBITES = str(PYBITES).split("test_")[1]

def write_imports(file="__imports.py", code=None,
                  mode="w", seek=0):
    with open(file, mode) as pb:
        lines = ""
        if "r" in mode:
            lines = "".join(pb.readlines())
        lines = f"{code}\n{lines}"
        pb.seek(seek)
        pb.truncate()
        pb.writelines(lines)

HTML(filename=BITE)
CODE = f"%load {PYBITES}"
write_imports(code=CODE)
CODE = f"%%writefile {PYBITES}"
write_imports(file=PYBITES, code=CODE,
              mode="r+", seek=0)
%load __imports.py