diff --git a/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/.ipynb_checkpoints/Untitled-checkpoint.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..7fec51502cbc3200b3d0ffc6bbba1fe85e197f3d
--- /dev/null
+++ b/.ipynb_checkpoints/Untitled-checkpoint.ipynb
@@ -0,0 +1,6 @@
+{
+ "cells": [],
+ "metadata": {},
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/.ipynb_checkpoints/ejercicio1-checkpoint.ipynb b/.ipynb_checkpoints/ejercicio1-checkpoint.ipynb
index a8882ca3b4d6c33fe95dec6851f00fe419b7e55e..64166733e1c54becc5a10d9c8c48d22f5be88dab 100644
--- a/.ipynb_checkpoints/ejercicio1-checkpoint.ipynb
+++ b/.ipynb_checkpoints/ejercicio1-checkpoint.ipynb
@@ -1,8 +1,29 @@
 {
  "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Ejercicio N°1: Lista de palabras"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Escriba un programa en python que acepte una lista de palabras\n",
+    "separadas por guiones, e imprima de vuelta las mismas palabras,\n",
+    "sin repetición y nuevamente separadas por guiones,después de\n",
+    "ordenarlas alfabéticamente.\n",
+    "\n",
+    "- **Ejemplo de entrada:** naranja-avión-melodía-tupla-avión\n",
+    "\n",
+    "- **Salida esperada:** avión-melodía-naranja-tupla"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [
     {
@@ -11,7 +32,7 @@
        "'\\nCreated on Wed Feb  3 09:47:54 2021\\n\\n@author: jennifer\\n\\nEste programa crea una lista de palabras separadas por guiones\\n'"
       ]
      },
-     "execution_count": 1,
+     "execution_count": 2,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -25,7 +46,7 @@
     "@author: jennifer\n",
     "\n",
     "Este programa crea una lista de palabras separadas por guiones\n",
-    "\"\"\"\n"
+    "\"\"\""
    ]
   },
   {
diff --git a/.ipynb_checkpoints/ejercicio2-checkpoint.ipynb b/.ipynb_checkpoints/ejercicio2-checkpoint.ipynb
index 11e8fcf13a8f71f595923191dec984db0d2e092f..7f90015c6c1c48863c14f6f3f18d4b4f65abca2b 100644
--- a/.ipynb_checkpoints/ejercicio2-checkpoint.ipynb
+++ b/.ipynb_checkpoints/ejercicio2-checkpoint.ipynb
@@ -1,110 +1,85 @@
 {
  "cells": [
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "#!/usr/bin/env python3\n",
-    "# -*- coding: utf-8 -*-\n",
-    "\"\"\"\n",
-    "@author: jennifer\n",
-    "\n",
-    "Este programa entrega los números de una fila del\n",
-    "triángulo de Pascal.\n",
-    "\"\"\""
-   ]
-  },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "### Ejercicio No. 2: Triángulo de Pascal\n"
+    "# Ejercicio N°2: Triángulo de Pascal\n"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "Descripción de la actividad: \n",
-    "Escriba una rutina en python que reciba como entrada un número entero, n, e imprima los\n",
+    "**Descripción de la actividad:**\n",
+    "\n",
+    "\n",
+    "**Parte a:** Escriba una rutina en python que reciba como entrada un número entero, n, e imprima los\n",
     "números en la n-ésima fila del triángulo de Pascal. El programa debe verificar si el número\n",
     "n es entero, o arrojar un mensaje informando que ha habido un error del usuario en caso\n",
     "contrario.\n"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "\n",
-    "El triángulo de Pascal es un triángulo de números enteros, infinito y simétrico Se empieza con un 1 en la primera fila, y en las filas siguientes se van colocando números de forma que cada uno de ellos sea la suma de los dos números que tiene encima. Se supone que los lugares fuera del triángulo contienen ceros, de forma que los bordes del triángulo están formados por unos. Aquí sólo se ve una parte; el triángulo continúa por debajo y es infinito."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 94,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Ingrese un numero entero n:\n",
-      "2\n"
-     ]
-    }
-   ],
-   "source": [
-    "print(\"Ingrese un numero entero n:\")\n",
-    "numero = input()"
-   ]
-  },
   {
    "cell_type": "code",
-   "execution_count": 95,
+   "execution_count": 1,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "str"
+       "'\\n@author: jennifer\\n\\nEste programa entrega los números de una fila del\\ntriángulo de Pascal.\\n'"
       ]
      },
-     "execution_count": 95,
+     "execution_count": 1,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "type(numero)"
+    "#!/usr/bin/env python3\n",
+    "# -*- coding: utf-8 -*-\n",
+    "\"\"\"\n",
+    "@author: jennifer\n",
+    "\n",
+    "Este programa entrega los números de una fila del\n",
+    "triángulo de Pascal.\n",
+    "\"\"\""
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\n",
+    "\"El triángulo de Pascal es un **triángulo de números enteros**, infinito y simétrico Se empieza con un 1 en la primera fila, y en las filas siguientes se van colocando números de forma que cada uno de ellos sea la suma de los dos números que tiene encima. Se supone que los lugares fuera del triángulo contienen ceros, de forma que los bordes del triángulo están formados por unos. Aquí sólo se ve una parte; el triángulo continúa por debajo y es infinito.\"\n",
+    "\n",
+    "*Tomado de: http://www.estadisticaparatodos.es/taller/triangulo/triangulo.html*"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 96,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
-     "data": {
-      "text/plain": [
-       "int"
-      ]
-     },
-     "execution_count": 96,
-     "metadata": {},
-     "output_type": "execute_result"
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Ingrese un numero entero n:\n",
+      "4\n"
+     ]
     }
    ],
    "source": [
-    "n = int(numero)\n",
-    "type(n)"
+    "print(\"Ingrese un numero entero n:\")\n",
+    "numero = input()\n",
+    "n = int(numero)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 97,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -113,7 +88,6 @@
     "    res=1\n",
     "    for c in range(1,n+1):\n",
     "        res = res*c\n",
-    "    \n",
     "    return res"
    ]
   },
@@ -121,61 +95,26 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "El número combinatorio Cm n (n sobre m) que representa el número de grupos de m elementos que pueden hacerse de entre un conjunto de n (por ejemplo, (4 sobre 2) nos da el número de parejas distintas que podrían hacerse en un grupo de cuatro personas), se encuentra en el triángulo en la fila n+1, en el lugar m+1. "
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Con el número, vamos a calcular la combinatoria de la n-ésima fila. Usando la ecuación:\n",
+    "Con el número combinatorio, vamos a calcular la combinatoria de la n-ésima fila. Usando la ecuación:\n",
     "\n",
     "$C_{m}^{n} = \\left(\\begin{array}{c} m \\\\ n \\end{array} \\right) = \\frac{m!}{n!(m-n)!}$"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 98,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "720"
-      ]
-     },
-     "execution_count": 98,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "fact(6)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 99,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "[1.0, 2.0, 1.0]\n"
+      "[1.0, 4.0, 6.0, 4.0, 1.0]\n"
      ]
     }
    ],
    "source": [
-    "lisPas = []\n",
-    "proof = n%2\n",
+    "lisPas = [] #LisPas es una lista vacía donde vamos a guardar los valores de la n-ésima fila\n",
     "for i in range(0,n+1):\n",
     "    coff = fact(n)/(fact(i)*fact(n-i))\n",
     "    lisPas.append(coff)\n",
@@ -201,7 +140,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 100,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -210,14 +149,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 149,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Ingrese sus numeros enteros n separados por espacios: 1 2 3 4\n"
+      "Ingrese sus numeros enteros n separados por espacios: 2 3 4 6 7\n"
      ]
     }
    ],
@@ -227,64 +166,42 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 150,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "['1', '2', '3', '4']\n"
+      "['2', '3', '4', '6', '7']\n"
      ]
     }
    ],
    "source": [
-    "#num = re.sub(\"-\", ' ', palabras).rstrip() #con estas funciones sobre el string elimino los guiones\n",
-    "#y los espacios en blanco\n",
-    "numt=num.split(' ') #separo las palabras y las agrego a una lista llamada 'p'\n",
+    "numt=num.split(' ') #separo cada número y lo agrego a una lista llamada 'numt'\n",
     "print(numt)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 151,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "list"
-      ]
-     },
-     "execution_count": 151,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "type(numt)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 152,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [],
    "source": [
-    "Blist = []\n",
+    "Blist = [] #Blist será una lista de listas, con los n-ésimas filas\n",
     "lisPas2 = []"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 153,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "[[1.0, 1.0], [1.0, 2.0, 1.0], [1.0, 3.0, 3.0, 1.0], [1.0, 4.0, 6.0, 4.0, 1.0]]\n"
+      "[[1.0, 2.0, 1.0], [1.0, 3.0, 3.0, 1.0], [1.0, 4.0, 6.0, 4.0, 1.0], [1.0, 6.0, 15.0, 20.0, 15.0, 6.0, 1.0], [1.0, 7.0, 21.0, 35.0, 35.0, 21.0, 7.0, 1.0]]\n"
      ]
     }
    ],
@@ -302,17 +219,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 154,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "{'1': None, '2': None, '3': None, '4': None}\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "prueba= dict.fromkeys(numt)\n",
     "#type(prueba)\n",
@@ -336,7 +245,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.5"
+   "version": "3.7.3"
   }
  },
  "nbformat": 4,
diff --git a/.ipynb_checkpoints/ejercicio3-checkpoint.ipynb b/.ipynb_checkpoints/ejercicio3-checkpoint.ipynb
index 4907b231bbf467dbeca14276bd9312210f82b4d9..037079034418b75b45d589c0667810f44c81baa4 100644
--- a/.ipynb_checkpoints/ejercicio3-checkpoint.ipynb
+++ b/.ipynb_checkpoints/ejercicio3-checkpoint.ipynb
@@ -1,5 +1,38 @@
 {
  "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Ejercicio N°3: Amigos congueros"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**Descripción de la actividad:**\n",
+    "\n",
+    "Entre en contacto con 10 estudiantes del curso de datos y 2 profesores o personal de soporte\n",
+    "de LaConga, uno del curso de datos y otro de afuera, y consulte su nombre completo, su\n",
+    "nombre de usuario en mattermost, edad, pais de origen, ciudad donde residen, su especialidad\n",
+    "científica, nombre del instituto en que estudian/laboran, y un hobbie o afición.\n",
+    "\n",
+    "1. Cree un diccionario llamado **“compas”**, donde la llave sea el nombre de usuario en mattermost,\n",
+    "y si depliego el valor almacenado, por ejemplo en compas[“juan-pineda”], lo que obtengo es\n",
+    "a la vez otro diccionario, con las llaves *“nombre”, “apellido”, “país”, “residencia”, “edad”,\n",
+    "“institución”, “hobbie”.*\n",
+    "\n",
+    "2. Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las\n",
+    "informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de\n",
+    "entender. \n",
+    "\n",
+    "3. Busque una forma de calcular, a partir del diccionario, el promedio de edad de\n",
+    "todas las personas en él.\n",
+    "\n",
+    "4. Finalmente busque una forma de mostrar todas las instituciones (sin repetición).\n"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 1,
@@ -31,74 +64,77 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "### Ejercicio 3: Amigos congueros"
+    "# Creando el diccionario"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "Entre en contacto con 10 estudiantes del curso de datos y 2 profesores o personal de soporte\n",
-    "de LaConga, uno del curso de datos y otro de afuera, y consulte su nombre completo, su\n",
-    "nombre de usuario en mattermost, edad, pais de origen, ciudad donde residen, su especialidad\n",
-    "científica, nombre del instituto en que estudian/laboran, y un hobbie o afición.\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Cree un diccionario llamado “compas”, donde la llave sea el nombre de usuario en mattermost,\n",
-    "y si depliego el valor almacenado, por ejemplo en compas[“juan-pineda”], lo que obtengo es\n",
-    "a la vez otro diccionario, con las llaves “nombre”, “apellido”, “país”, “residencia”, “edad”,\n",
-    "“institución”, “hobbie”.\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las\n",
-    "informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de\n",
-    "entender. -Busque una forma de calcular, a partir del diccionario, el promedio de edad de\n",
-    "todas las personas en él, y una forma de mostrar todas las instituciones (sin repetición)\n"
+    "Crearemos un diccionario dentro de un diccionario con\n",
+    "los usuarios de mattermost como las llaves principales\n",
+    "y con la siguiente estructura:\n",
+    "    \n",
+    "    \n",
+    "`d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}}`"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 1,
    "metadata": {},
    "outputs": [],
    "source": [
-    "d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}}\n",
     "compas = {\"perezy\": {\"Nombre\":\"Yineth\",\"Apellido\":\"Perez\",\"Edad\":29,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Voleibol y ficción\", \"Tipo\": \"Estudiante\"},\n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                     \"Hobbie\": \"Voleibol y ficción\", \"Tipo\": \"Estudiante\"},\n",
     "          \"acerot\": {\"Nombre\":\"Tatiana\",\"Apellido\":\"Acero\",\"Edad\":23,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Ver anime y disfrutar la naturaleza\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                     \"Hobbie\": \"Ver anime y disfrutar la naturaleza\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"omarasto\":{\"Nombre\":\"Omar\",\"Apellido\":\"Asto\",\"Edad\":25,\"País\": \"Perú\",\n",
-    "                     \"Ciudad\": \"Lima\",\"Institución\": \"Universidad Nacional de Ingeniería\", \"Hobbie\": \"Leer periódico\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Lima\",\"Institución\": \"Universidad Nacional de Ingeniería\",\n",
+    "                      \"Hobbie\": \"Leer periódico\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"carrilloj\": {\"Nombre\":\"Juan\",\"Apellido\":\"Carrillo\",\"Edad\":25,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Videojuegos\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                        \"Hobbie\": \"Videojuegos\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"ladinoj\": {\"Nombre\":\"JoseM\",\"Apellido\":\"Ladino\",\"Edad\":24,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Skate, ciclismo, guitarra\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                      \"Hobbie\": \"Skate, ciclismo, guitarra\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"martinezj\": {\"Nombre\":\"Jocabed\",\"Apellido\":\"Martinez\",\"Edad\":22,\"País\": \"Venezuela\",\n",
-    "                     \"Ciudad\": \"Caracas\",\"Institución\": \"Universidad Central de Venezuela\", \"Hobbie\": \"Música\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Caracas\",\"Institución\": \"Universidad Central de Venezuela\",\n",
+    "                        \"Hobbie\": \"Música\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"gomezc\":{\"Nombre\":\"Carla\",\"Apellido\":\"Gomez\",\"Edad\":27,\"País\": \"Venezuela\",\n",
-    "                     \"Ciudad\": \"Caracas\",\"Institución\": \"Universidad Simón Bolivar\", \"Hobbie\": \"Bici, electrónica y la gastronomía\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Caracas\",\"Institución\": \"Universidad Simón Bolivar\",\n",
+    "                    \"Hobbie\": \"Bici, electrónica y la gastronomía\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"navasa\":{\"Nombre\":\"Alfonso\",\"Apellido\":\"Navas\",\"Edad\":24,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Crossfit\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                    \"Hobbie\": \"Crossfit\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"vargass\":{\"Nombre\":\"Sasiri\",\"Apellido\":\"Vargas\",\"Edad\":20,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Cali\",\"Institución\": \"Universidad del Valle\", \"Hobbie\": \"Danza y canto\",  \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Cali\",\"Institución\": \"Universidad del Valle\",\n",
+    "                     \"Hobbie\": \"Danza y canto\",  \"Tipo\": \"Estudiante\"}, \n",
     "          \"sirias\": {\"Nombre\":\"Siria\",\"Apellido\":\"Sadeddin\",\"Edad\":30,\"País\": \"Venezuela\",\n",
-    "                     \"Ciudad\": \"Colombia\",\"Institución\": \"Universidad Simón Bolivar\", \"Hobbie\": \"Data Science\",  \"Tipo\": \"Estudiante\"},\n",
+    "                     \"Ciudad\": \"Colombia\",\"Institución\": \"Universidad Simón Bolivar\",\n",
+    "                     \"Hobbie\": \"Data Science\",  \"Tipo\": \"Estudiante\"},\n",
     "          \"teofilo\": {\"Nombre\":\"Teofilo\",\"Apellido\":\"Vargas\",\"Edad\":54,\"País\": \"Perú\",\n",
-    "                     \"Ciudad\": \"Lima\",\"Institución\": \"Universidad Nacional Mayor de San Marcos\", \"Hobbie\": \"Wing Chun Kuen\",  \"Tipo\": \"Profesor\"}\n",
+    "                     \"Ciudad\": \"Lima\",\"Institución\": \"Universidad Nacional Mayor de San Marcos\",\n",
+    "                      \"Hobbie\": \"Wing Chun Kuen\",  \"Tipo\": \"Profesor\"}\n",
     "         }\n"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Con esta estructura, para llamar un elemento de la lista\n",
+    "que corresponda con la información específica d eun usuario,\n",
+    "basta con usar dos corchetes, uno para la llave principal\n",
+    "y otro para la llave secundaria. Como se puede observar en\n",
+    "la siguiente línea:"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [
     {
@@ -107,7 +143,7 @@
        "'Perú'"
       ]
      },
-     "execution_count": 4,
+     "execution_count": 2,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -129,7 +165,8 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "import statistics as st"
+    "import statistics as st\n",
+    "#-----Importo una biblioteca que me permite hacer operaciones estadísticas"
    ]
   },
   {
@@ -146,7 +183,7 @@
     }
    ],
    "source": [
-    "edades = []\n",
+    "edades = [] #------ Una lista vacía donde almacenaré únicamente las edades\n",
     "for item in compas:\n",
     "    value = compas[item][\"Edad\"]\n",
     "    edades.append(value)\n",
@@ -194,11 +231,11 @@
     }
    ],
    "source": [
-    "univer = []\n",
+    "univer = [] #------En esta lista se almacenarán los nombres de las instituciones\n",
     "for item in compas:\n",
-    "    value = compas[item][\"Institución\"]\n",
-    "    univer.append(value)\n",
-    "print(univer)"
+    "    value = compas[item][\"Institución\"] #--- Se extraen los valores\n",
+    "    univer.append(value) #--- Se almacenan en la lista\n",
+    "print(univer) #-----Se muestran en pantalla"
    ]
   },
   {
@@ -218,9 +255,8 @@
     "#Eliminar elementos repetidos de la lista de Institutos\n",
     "InstitutoT = [] \n",
     "for i in univer: \n",
-    "    if i not in InstitutoT: \n",
+    "    if i not in InstitutoT: #---Almacena datos sin repetir\n",
     "        InstitutoT.append(i) \n",
-    "        \n",
     "print(InstitutoT)"
    ]
   },
@@ -228,21 +264,29 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# Tabular datos por país común"
+    "# Tabular datos por país común (Preliminar)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "- En esta sección preliminar se creará el código paso a paso a usarse dentro de una función."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [],
    "source": [
-    "from tabulate import _table_formats, tabulate"
+    "from tabulate import _table_formats, tabulate\n",
+    "#-------Con esta biblioteca, puedo tabular con formatos fáciles de leer."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -251,7 +295,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
@@ -263,7 +307,9 @@
     }
    ],
    "source": [
-    "order = {}\n",
+    "#En este for, como se viene realizando en todo el notebook,\n",
+    "#se extraen los valores específicos de la biblioteca (en este caso el username),\n",
+    "#esta vez restringiendo sólo a los que coinciden con el país.\n",
     "keys = []\n",
     "values = []\n",
     "for item in compas:\n",
@@ -274,69 +320,32 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "'Colombia'"
-      ]
-     },
-     "execution_count": 31,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "compas[\"perezy\"][\"País\"]"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 32,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [],
    "source": [
+    "#---Defino las listas con las que guardaré y ordenaré la información...\n",
     "Nombre = []\n",
     "Apellido = []\n",
     "Edad = []\n",
     "Instituto = []\n",
-    "Hobbie = []"
+    "Hobbie = []\n",
+    "elements = [\"Nombre\", \"Apellido\", \"Edad\", \"Institución\", \"Hobbie\"]"
    ]
   },
   {
-   "cell_type": "code",
-   "execution_count": 33,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "['Omar', 'Teofilo']\n"
-     ]
-    }
-   ],
    "source": [
     "for word in keys:\n",
     "    element = compas[word][\"Nombre\"]\n",
     "    Nombre.append(element)\n",
-    "print(Nombre)\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 34,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "elements = [\"Nombre\", \"Apellido\", \"Edad\", \"Institución\", \"Hobbie\"]"
+    "print(Nombre)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 35,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
@@ -348,8 +357,10 @@
     }
    ],
    "source": [
-    "user = []\n",
-    "details = []\n",
+    "user = [] #--- Esla lista almacena las listas ordenadas de\n",
+    "#--------------los datos de los usuarios.\n",
+    "details = []#--Lista de datos de usuarios.\n",
+    "#\n",
     "for word2 in keys:\n",
     "    for word in elements:\n",
     "        element = compas[word2][word]\n",
@@ -361,7 +372,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 37,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [
     {
@@ -383,12 +394,12 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "## Crearé la función"
+    "# Tabular datos por país común (Función final)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 49,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -427,7 +438,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 52,
+   "execution_count": 22,
    "metadata": {},
    "outputs": [
     {
@@ -444,20 +455,6 @@
    "source": [
     "congueros(compas,\"Perú\")"
    ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
diff --git a/Untitled.ipynb b/Untitled.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..7fec51502cbc3200b3d0ffc6bbba1fe85e197f3d
--- /dev/null
+++ b/Untitled.ipynb
@@ -0,0 +1,6 @@
+{
+ "cells": [],
+ "metadata": {},
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/ejercicio1.ipynb b/ejercicio1.ipynb
index a8882ca3b4d6c33fe95dec6851f00fe419b7e55e..64166733e1c54becc5a10d9c8c48d22f5be88dab 100644
--- a/ejercicio1.ipynb
+++ b/ejercicio1.ipynb
@@ -1,8 +1,29 @@
 {
  "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Ejercicio N°1: Lista de palabras"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Escriba un programa en python que acepte una lista de palabras\n",
+    "separadas por guiones, e imprima de vuelta las mismas palabras,\n",
+    "sin repetición y nuevamente separadas por guiones,después de\n",
+    "ordenarlas alfabéticamente.\n",
+    "\n",
+    "- **Ejemplo de entrada:** naranja-avión-melodía-tupla-avión\n",
+    "\n",
+    "- **Salida esperada:** avión-melodía-naranja-tupla"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [
     {
@@ -11,7 +32,7 @@
        "'\\nCreated on Wed Feb  3 09:47:54 2021\\n\\n@author: jennifer\\n\\nEste programa crea una lista de palabras separadas por guiones\\n'"
       ]
      },
-     "execution_count": 1,
+     "execution_count": 2,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -25,7 +46,7 @@
     "@author: jennifer\n",
     "\n",
     "Este programa crea una lista de palabras separadas por guiones\n",
-    "\"\"\"\n"
+    "\"\"\""
    ]
   },
   {
diff --git a/ejercicio2.ipynb b/ejercicio2.ipynb
index 11e8fcf13a8f71f595923191dec984db0d2e092f..7f90015c6c1c48863c14f6f3f18d4b4f65abca2b 100644
--- a/ejercicio2.ipynb
+++ b/ejercicio2.ipynb
@@ -1,110 +1,85 @@
 {
  "cells": [
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "#!/usr/bin/env python3\n",
-    "# -*- coding: utf-8 -*-\n",
-    "\"\"\"\n",
-    "@author: jennifer\n",
-    "\n",
-    "Este programa entrega los números de una fila del\n",
-    "triángulo de Pascal.\n",
-    "\"\"\""
-   ]
-  },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "### Ejercicio No. 2: Triángulo de Pascal\n"
+    "# Ejercicio N°2: Triángulo de Pascal\n"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "Descripción de la actividad: \n",
-    "Escriba una rutina en python que reciba como entrada un número entero, n, e imprima los\n",
+    "**Descripción de la actividad:**\n",
+    "\n",
+    "\n",
+    "**Parte a:** Escriba una rutina en python que reciba como entrada un número entero, n, e imprima los\n",
     "números en la n-ésima fila del triángulo de Pascal. El programa debe verificar si el número\n",
     "n es entero, o arrojar un mensaje informando que ha habido un error del usuario en caso\n",
     "contrario.\n"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "\n",
-    "El triángulo de Pascal es un triángulo de números enteros, infinito y simétrico Se empieza con un 1 en la primera fila, y en las filas siguientes se van colocando números de forma que cada uno de ellos sea la suma de los dos números que tiene encima. Se supone que los lugares fuera del triángulo contienen ceros, de forma que los bordes del triángulo están formados por unos. Aquí sólo se ve una parte; el triángulo continúa por debajo y es infinito."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 94,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Ingrese un numero entero n:\n",
-      "2\n"
-     ]
-    }
-   ],
-   "source": [
-    "print(\"Ingrese un numero entero n:\")\n",
-    "numero = input()"
-   ]
-  },
   {
    "cell_type": "code",
-   "execution_count": 95,
+   "execution_count": 1,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "str"
+       "'\\n@author: jennifer\\n\\nEste programa entrega los números de una fila del\\ntriángulo de Pascal.\\n'"
       ]
      },
-     "execution_count": 95,
+     "execution_count": 1,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "type(numero)"
+    "#!/usr/bin/env python3\n",
+    "# -*- coding: utf-8 -*-\n",
+    "\"\"\"\n",
+    "@author: jennifer\n",
+    "\n",
+    "Este programa entrega los números de una fila del\n",
+    "triángulo de Pascal.\n",
+    "\"\"\""
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\n",
+    "\"El triángulo de Pascal es un **triángulo de números enteros**, infinito y simétrico Se empieza con un 1 en la primera fila, y en las filas siguientes se van colocando números de forma que cada uno de ellos sea la suma de los dos números que tiene encima. Se supone que los lugares fuera del triángulo contienen ceros, de forma que los bordes del triángulo están formados por unos. Aquí sólo se ve una parte; el triángulo continúa por debajo y es infinito.\"\n",
+    "\n",
+    "*Tomado de: http://www.estadisticaparatodos.es/taller/triangulo/triangulo.html*"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 96,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
-     "data": {
-      "text/plain": [
-       "int"
-      ]
-     },
-     "execution_count": 96,
-     "metadata": {},
-     "output_type": "execute_result"
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Ingrese un numero entero n:\n",
+      "4\n"
+     ]
     }
    ],
    "source": [
-    "n = int(numero)\n",
-    "type(n)"
+    "print(\"Ingrese un numero entero n:\")\n",
+    "numero = input()\n",
+    "n = int(numero)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 97,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -113,7 +88,6 @@
     "    res=1\n",
     "    for c in range(1,n+1):\n",
     "        res = res*c\n",
-    "    \n",
     "    return res"
    ]
   },
@@ -121,61 +95,26 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "El número combinatorio Cm n (n sobre m) que representa el número de grupos de m elementos que pueden hacerse de entre un conjunto de n (por ejemplo, (4 sobre 2) nos da el número de parejas distintas que podrían hacerse en un grupo de cuatro personas), se encuentra en el triángulo en la fila n+1, en el lugar m+1. "
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Con el número, vamos a calcular la combinatoria de la n-ésima fila. Usando la ecuación:\n",
+    "Con el número combinatorio, vamos a calcular la combinatoria de la n-ésima fila. Usando la ecuación:\n",
     "\n",
     "$C_{m}^{n} = \\left(\\begin{array}{c} m \\\\ n \\end{array} \\right) = \\frac{m!}{n!(m-n)!}$"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 98,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "720"
-      ]
-     },
-     "execution_count": 98,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "fact(6)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 99,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "[1.0, 2.0, 1.0]\n"
+      "[1.0, 4.0, 6.0, 4.0, 1.0]\n"
      ]
     }
    ],
    "source": [
-    "lisPas = []\n",
-    "proof = n%2\n",
+    "lisPas = [] #LisPas es una lista vacía donde vamos a guardar los valores de la n-ésima fila\n",
     "for i in range(0,n+1):\n",
     "    coff = fact(n)/(fact(i)*fact(n-i))\n",
     "    lisPas.append(coff)\n",
@@ -201,7 +140,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 100,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -210,14 +149,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 149,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Ingrese sus numeros enteros n separados por espacios: 1 2 3 4\n"
+      "Ingrese sus numeros enteros n separados por espacios: 2 3 4 6 7\n"
      ]
     }
    ],
@@ -227,64 +166,42 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 150,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "['1', '2', '3', '4']\n"
+      "['2', '3', '4', '6', '7']\n"
      ]
     }
    ],
    "source": [
-    "#num = re.sub(\"-\", ' ', palabras).rstrip() #con estas funciones sobre el string elimino los guiones\n",
-    "#y los espacios en blanco\n",
-    "numt=num.split(' ') #separo las palabras y las agrego a una lista llamada 'p'\n",
+    "numt=num.split(' ') #separo cada número y lo agrego a una lista llamada 'numt'\n",
     "print(numt)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 151,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "list"
-      ]
-     },
-     "execution_count": 151,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "type(numt)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 152,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [],
    "source": [
-    "Blist = []\n",
+    "Blist = [] #Blist será una lista de listas, con los n-ésimas filas\n",
     "lisPas2 = []"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 153,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "[[1.0, 1.0], [1.0, 2.0, 1.0], [1.0, 3.0, 3.0, 1.0], [1.0, 4.0, 6.0, 4.0, 1.0]]\n"
+      "[[1.0, 2.0, 1.0], [1.0, 3.0, 3.0, 1.0], [1.0, 4.0, 6.0, 4.0, 1.0], [1.0, 6.0, 15.0, 20.0, 15.0, 6.0, 1.0], [1.0, 7.0, 21.0, 35.0, 35.0, 21.0, 7.0, 1.0]]\n"
      ]
     }
    ],
@@ -302,17 +219,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 154,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "{'1': None, '2': None, '3': None, '4': None}\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "prueba= dict.fromkeys(numt)\n",
     "#type(prueba)\n",
@@ -336,7 +245,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.5"
+   "version": "3.7.3"
   }
  },
  "nbformat": 4,
diff --git a/ejercicio3.ipynb b/ejercicio3.ipynb
index 4907b231bbf467dbeca14276bd9312210f82b4d9..037079034418b75b45d589c0667810f44c81baa4 100644
--- a/ejercicio3.ipynb
+++ b/ejercicio3.ipynb
@@ -1,5 +1,38 @@
 {
  "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Ejercicio N°3: Amigos congueros"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**Descripción de la actividad:**\n",
+    "\n",
+    "Entre en contacto con 10 estudiantes del curso de datos y 2 profesores o personal de soporte\n",
+    "de LaConga, uno del curso de datos y otro de afuera, y consulte su nombre completo, su\n",
+    "nombre de usuario en mattermost, edad, pais de origen, ciudad donde residen, su especialidad\n",
+    "científica, nombre del instituto en que estudian/laboran, y un hobbie o afición.\n",
+    "\n",
+    "1. Cree un diccionario llamado **“compas”**, donde la llave sea el nombre de usuario en mattermost,\n",
+    "y si depliego el valor almacenado, por ejemplo en compas[“juan-pineda”], lo que obtengo es\n",
+    "a la vez otro diccionario, con las llaves *“nombre”, “apellido”, “país”, “residencia”, “edad”,\n",
+    "“institución”, “hobbie”.*\n",
+    "\n",
+    "2. Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las\n",
+    "informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de\n",
+    "entender. \n",
+    "\n",
+    "3. Busque una forma de calcular, a partir del diccionario, el promedio de edad de\n",
+    "todas las personas en él.\n",
+    "\n",
+    "4. Finalmente busque una forma de mostrar todas las instituciones (sin repetición).\n"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 1,
@@ -31,74 +64,77 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "### Ejercicio 3: Amigos congueros"
+    "# Creando el diccionario"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "Entre en contacto con 10 estudiantes del curso de datos y 2 profesores o personal de soporte\n",
-    "de LaConga, uno del curso de datos y otro de afuera, y consulte su nombre completo, su\n",
-    "nombre de usuario en mattermost, edad, pais de origen, ciudad donde residen, su especialidad\n",
-    "científica, nombre del instituto en que estudian/laboran, y un hobbie o afición.\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Cree un diccionario llamado “compas”, donde la llave sea el nombre de usuario en mattermost,\n",
-    "y si depliego el valor almacenado, por ejemplo en compas[“juan-pineda”], lo que obtengo es\n",
-    "a la vez otro diccionario, con las llaves “nombre”, “apellido”, “país”, “residencia”, “edad”,\n",
-    "“institución”, “hobbie”.\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las\n",
-    "informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de\n",
-    "entender. -Busque una forma de calcular, a partir del diccionario, el promedio de edad de\n",
-    "todas las personas en él, y una forma de mostrar todas las instituciones (sin repetición)\n"
+    "Crearemos un diccionario dentro de un diccionario con\n",
+    "los usuarios de mattermost como las llaves principales\n",
+    "y con la siguiente estructura:\n",
+    "    \n",
+    "    \n",
+    "`d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}}`"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 1,
    "metadata": {},
    "outputs": [],
    "source": [
-    "d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}}\n",
     "compas = {\"perezy\": {\"Nombre\":\"Yineth\",\"Apellido\":\"Perez\",\"Edad\":29,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Voleibol y ficción\", \"Tipo\": \"Estudiante\"},\n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                     \"Hobbie\": \"Voleibol y ficción\", \"Tipo\": \"Estudiante\"},\n",
     "          \"acerot\": {\"Nombre\":\"Tatiana\",\"Apellido\":\"Acero\",\"Edad\":23,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Ver anime y disfrutar la naturaleza\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                     \"Hobbie\": \"Ver anime y disfrutar la naturaleza\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"omarasto\":{\"Nombre\":\"Omar\",\"Apellido\":\"Asto\",\"Edad\":25,\"País\": \"Perú\",\n",
-    "                     \"Ciudad\": \"Lima\",\"Institución\": \"Universidad Nacional de Ingeniería\", \"Hobbie\": \"Leer periódico\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Lima\",\"Institución\": \"Universidad Nacional de Ingeniería\",\n",
+    "                      \"Hobbie\": \"Leer periódico\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"carrilloj\": {\"Nombre\":\"Juan\",\"Apellido\":\"Carrillo\",\"Edad\":25,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Videojuegos\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                        \"Hobbie\": \"Videojuegos\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"ladinoj\": {\"Nombre\":\"JoseM\",\"Apellido\":\"Ladino\",\"Edad\":24,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Skate, ciclismo, guitarra\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                      \"Hobbie\": \"Skate, ciclismo, guitarra\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"martinezj\": {\"Nombre\":\"Jocabed\",\"Apellido\":\"Martinez\",\"Edad\":22,\"País\": \"Venezuela\",\n",
-    "                     \"Ciudad\": \"Caracas\",\"Institución\": \"Universidad Central de Venezuela\", \"Hobbie\": \"Música\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Caracas\",\"Institución\": \"Universidad Central de Venezuela\",\n",
+    "                        \"Hobbie\": \"Música\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"gomezc\":{\"Nombre\":\"Carla\",\"Apellido\":\"Gomez\",\"Edad\":27,\"País\": \"Venezuela\",\n",
-    "                     \"Ciudad\": \"Caracas\",\"Institución\": \"Universidad Simón Bolivar\", \"Hobbie\": \"Bici, electrónica y la gastronomía\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Caracas\",\"Institución\": \"Universidad Simón Bolivar\",\n",
+    "                    \"Hobbie\": \"Bici, electrónica y la gastronomía\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"navasa\":{\"Nombre\":\"Alfonso\",\"Apellido\":\"Navas\",\"Edad\":24,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\", \"Hobbie\": \"Crossfit\", \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Bogotá\",\"Institución\": \"Universidad Nacional de Colombia\",\n",
+    "                    \"Hobbie\": \"Crossfit\", \"Tipo\": \"Estudiante\"}, \n",
     "          \"vargass\":{\"Nombre\":\"Sasiri\",\"Apellido\":\"Vargas\",\"Edad\":20,\"País\": \"Colombia\",\n",
-    "                     \"Ciudad\": \"Cali\",\"Institución\": \"Universidad del Valle\", \"Hobbie\": \"Danza y canto\",  \"Tipo\": \"Estudiante\"}, \n",
+    "                     \"Ciudad\": \"Cali\",\"Institución\": \"Universidad del Valle\",\n",
+    "                     \"Hobbie\": \"Danza y canto\",  \"Tipo\": \"Estudiante\"}, \n",
     "          \"sirias\": {\"Nombre\":\"Siria\",\"Apellido\":\"Sadeddin\",\"Edad\":30,\"País\": \"Venezuela\",\n",
-    "                     \"Ciudad\": \"Colombia\",\"Institución\": \"Universidad Simón Bolivar\", \"Hobbie\": \"Data Science\",  \"Tipo\": \"Estudiante\"},\n",
+    "                     \"Ciudad\": \"Colombia\",\"Institución\": \"Universidad Simón Bolivar\",\n",
+    "                     \"Hobbie\": \"Data Science\",  \"Tipo\": \"Estudiante\"},\n",
     "          \"teofilo\": {\"Nombre\":\"Teofilo\",\"Apellido\":\"Vargas\",\"Edad\":54,\"País\": \"Perú\",\n",
-    "                     \"Ciudad\": \"Lima\",\"Institución\": \"Universidad Nacional Mayor de San Marcos\", \"Hobbie\": \"Wing Chun Kuen\",  \"Tipo\": \"Profesor\"}\n",
+    "                     \"Ciudad\": \"Lima\",\"Institución\": \"Universidad Nacional Mayor de San Marcos\",\n",
+    "                      \"Hobbie\": \"Wing Chun Kuen\",  \"Tipo\": \"Profesor\"}\n",
     "         }\n"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Con esta estructura, para llamar un elemento de la lista\n",
+    "que corresponda con la información específica d eun usuario,\n",
+    "basta con usar dos corchetes, uno para la llave principal\n",
+    "y otro para la llave secundaria. Como se puede observar en\n",
+    "la siguiente línea:"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [
     {
@@ -107,7 +143,7 @@
        "'Perú'"
       ]
      },
-     "execution_count": 4,
+     "execution_count": 2,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -129,7 +165,8 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "import statistics as st"
+    "import statistics as st\n",
+    "#-----Importo una biblioteca que me permite hacer operaciones estadísticas"
    ]
   },
   {
@@ -146,7 +183,7 @@
     }
    ],
    "source": [
-    "edades = []\n",
+    "edades = [] #------ Una lista vacía donde almacenaré únicamente las edades\n",
     "for item in compas:\n",
     "    value = compas[item][\"Edad\"]\n",
     "    edades.append(value)\n",
@@ -194,11 +231,11 @@
     }
    ],
    "source": [
-    "univer = []\n",
+    "univer = [] #------En esta lista se almacenarán los nombres de las instituciones\n",
     "for item in compas:\n",
-    "    value = compas[item][\"Institución\"]\n",
-    "    univer.append(value)\n",
-    "print(univer)"
+    "    value = compas[item][\"Institución\"] #--- Se extraen los valores\n",
+    "    univer.append(value) #--- Se almacenan en la lista\n",
+    "print(univer) #-----Se muestran en pantalla"
    ]
   },
   {
@@ -218,9 +255,8 @@
     "#Eliminar elementos repetidos de la lista de Institutos\n",
     "InstitutoT = [] \n",
     "for i in univer: \n",
-    "    if i not in InstitutoT: \n",
+    "    if i not in InstitutoT: #---Almacena datos sin repetir\n",
     "        InstitutoT.append(i) \n",
-    "        \n",
     "print(InstitutoT)"
    ]
   },
@@ -228,21 +264,29 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# Tabular datos por país común"
+    "# Tabular datos por país común (Preliminar)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "- En esta sección preliminar se creará el código paso a paso a usarse dentro de una función."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [],
    "source": [
-    "from tabulate import _table_formats, tabulate"
+    "from tabulate import _table_formats, tabulate\n",
+    "#-------Con esta biblioteca, puedo tabular con formatos fáciles de leer."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -251,7 +295,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
@@ -263,7 +307,9 @@
     }
    ],
    "source": [
-    "order = {}\n",
+    "#En este for, como se viene realizando en todo el notebook,\n",
+    "#se extraen los valores específicos de la biblioteca (en este caso el username),\n",
+    "#esta vez restringiendo sólo a los que coinciden con el país.\n",
     "keys = []\n",
     "values = []\n",
     "for item in compas:\n",
@@ -274,69 +320,32 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "'Colombia'"
-      ]
-     },
-     "execution_count": 31,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "compas[\"perezy\"][\"País\"]"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 32,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [],
    "source": [
+    "#---Defino las listas con las que guardaré y ordenaré la información...\n",
     "Nombre = []\n",
     "Apellido = []\n",
     "Edad = []\n",
     "Instituto = []\n",
-    "Hobbie = []"
+    "Hobbie = []\n",
+    "elements = [\"Nombre\", \"Apellido\", \"Edad\", \"Institución\", \"Hobbie\"]"
    ]
   },
   {
-   "cell_type": "code",
-   "execution_count": 33,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "['Omar', 'Teofilo']\n"
-     ]
-    }
-   ],
    "source": [
     "for word in keys:\n",
     "    element = compas[word][\"Nombre\"]\n",
     "    Nombre.append(element)\n",
-    "print(Nombre)\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 34,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "elements = [\"Nombre\", \"Apellido\", \"Edad\", \"Institución\", \"Hobbie\"]"
+    "print(Nombre)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 35,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
@@ -348,8 +357,10 @@
     }
    ],
    "source": [
-    "user = []\n",
-    "details = []\n",
+    "user = [] #--- Esla lista almacena las listas ordenadas de\n",
+    "#--------------los datos de los usuarios.\n",
+    "details = []#--Lista de datos de usuarios.\n",
+    "#\n",
     "for word2 in keys:\n",
     "    for word in elements:\n",
     "        element = compas[word2][word]\n",
@@ -361,7 +372,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 37,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [
     {
@@ -383,12 +394,12 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "## Crearé la función"
+    "# Tabular datos por país común (Función final)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 49,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -427,7 +438,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 52,
+   "execution_count": 22,
    "metadata": {},
    "outputs": [
     {
@@ -444,20 +455,6 @@
    "source": [
     "congueros(compas,\"Perú\")"
    ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {