<jupyter_start><jupyter_text>Esta será una microentrada para presentar una extensión para el notebook que estoy usando en un curso interno que estoy dando en mi empresa.Si a alguno más os puede valer para mostrar cosas básicas de Python (2 y 3, además de Java y Javascript) para muy principiantes me alegro.  Nombre en clave: tutormagic Esta extensión lo único que hace es embeber dentro de un IFrame la página de [pythontutor](http://www.pythontutor.com) usando el código que hayamos definido en una celda de código precedida de la *cell magic* `%%tutor`.Como he comentado anteriormente, se puede escribir código Python2, Python3, Java y Javascript, que son los lenguajes soportados por pythontutor.  Ejemplo Primero deberemos instalar la extensión. Está disponible en pypi por lo que la podéis instalar usando `pip install tutormagic`. Una vez instalada, dentro de un notebook de IPython la deberías cargar usando:<jupyter_code>%load_ext tutormagic<jupyter_output><empty_output><jupyter_text>Una vez hecho esto ya deberiamos tener disponible la *cell magic* para ser usada:<jupyter_code>%%tutor --lang python3
a = 1
b = 2

def add(x, y):
    return x + y

c = add(a, b)<jupyter_output><empty_output><jupyter_text>Ahora un ejemplo con javascript:<jupyter_code>%%tutor --lang javascript
var a = 1;
var b = 1;
console.log(a + b);<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.06774668630338733, 'fraction_numerical': 0.0066273932253313695, 'mean_word_length': 5.440758293838862, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '7535', 'license': 'BSD-2-Clause', 'n_tokens_mistral': 490, 'n_tokens_neox': 466, 'n_words': 181, 'path': 'tutormagic.ipynb', 'repo_name': 'pfsq/notebooks', 'size': '1358'}