diff --git a/ejercicio3.ipynb b/ejercicio3.ipynb
index d010289c7aa2a84ef3c415333e02f6e70043fcc8..08333e486076da13c63e96284a2421e807129b71 100644
--- a/ejercicio3.ipynb
+++ b/ejercicio3.ipynb
@@ -18,19 +18,29 @@
     "## El problema que se debe resolver presenta el siguiente enunciado:\n",
     "Entre en contacto con 10 estudiantes del curso de datos y 2 profesores o personal de soporte de LaConga, uno del curso de datos y otro de afuera, y consulte su nombre completo, su nombre de usuario en mattermost, edad, pais de origen, ciudad donde residen, su especialidad científica, nombre del instituto en que estudian/laboran, y un hobbie o afición\n",
     "\n",
+    "+ ## Parte 1\n",
     "Cree un diccionario llamado “compas”, donde la llave sea el nombre de usuario en mattermost,y si depliego el valor almacenado, por ejemplo en compas[“juan-pineda”], lo que obtengo esa la vez otro diccionario, con las llaves “nombre”, “apellido”, “país”, “residencia”, “edad”,“institución”, “hobbie”\n",
     "\n",
-    "Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de entender. -Busque una forma de calcular, a partir del diccionario, el promedio de edad de todas las personas en él, y una forma de mostrar todas las instituciones (sin repetición)"
+    "+ ## Parte 2\n",
+    "Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de entender.\n",
+    "\n",
+    "\n",
+    "+ ## Parte 3\n",
+    "Busque una forma de calcular, a partir del diccionario, el promedio de edad de todas las personas en él.\n",
+    "\n",
+    "+ ## Parte 4\n",
+    "Busque una forma de mostrar todas las instituciones (sin repetición)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [],
    "source": [
     "compas={\n",
-    "\"juan-pineda\":{\"nombres\":\"Juan Carlos\",\"apellidos\":\"Basto Pineda\",\"edad\":30,\"pais\":\"Colombia\",\"residencia\":\"Santander\",\"especialidad cientifica\":\"Astronomia\",\"institucion\":\"Universidad Industrial de Santander\",\"hobbie\":\"divulgacion cientifica\"},\n",
+    "\"juan-pineda\":\n",
+    "{\"nombres\":\"Juan Carlos\",\"apellidos\":\"Basto Pineda\",\"edad\":30,\"pais\":\"Colombia\",\"residencia\":\"Santander\",\"especialidad cientifica\":\"Astronomia\",\"institucion\":\"Universidad Industrial de Santander\",\"hobbie\":\"divulgacion cientifica\"},\n",
     "\"camacho.reina\":\n",
     "{\"nombres\":\"Reina\",\"apellidos\":\"Camacho Toro\",\"edad\":35,\"pais\":\"Venezuela\",\"residencia\":\"Francia\",\"especialidad cientifica\":\"Fisica Experimental\",\"institucion\":\"CNRS\",\"hobbie\":\"avistamiento de aves\"},\n",
     "\"britod\":\n",
@@ -58,31 +68,91 @@
     "}"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Algunos ejemplos de como de imprime la informacion de las personas"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 37,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [
     {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "----------------------------------------------------\n",
-      "nombres : Reina\n",
-      "apellidos : Camacho Toro\n",
-      "pais : Venezuela\n",
-      "residencia : Francia\n",
-      "edad : 36\n",
-      "institucion : CNRS\n",
-      "hobbie : avistamiento de aves\n",
-      "usuario mattermost : camacho.reina\n",
-      "\n"
-     ]
+     "data": {
+      "text/plain": [
+       "{'nombres': 'Felipe',\n",
+       " 'apellidos': 'Reyes',\n",
+       " 'edad': 22,\n",
+       " 'pais': 'Colombia',\n",
+       " 'residencia': 'Cali',\n",
+       " 'especialidad cientifica': 'Materia Condensada',\n",
+       " 'institucion': 'Universidad del Valle',\n",
+       " 'hobbie': 'gimnasio'}"
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "compas[\"reyesf\"]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'nombres': 'Yhony',\n",
+       " 'apellidos': 'Mamamni Arce',\n",
+       " 'edad': 26,\n",
+       " 'pais': 'Perú',\n",
+       " 'residencia': 'Lima',\n",
+       " 'especialidad cientifica': 'Fisica del Estado Solido',\n",
+       " 'institucion': 'Universidad Nacional Mayor de San Marcos',\n",
+       " 'hobbie': 'correr, natacion, leer'}"
+      ]
+     },
+     "execution_count": 19,
+     "metadata": {},
+     "output_type": "execute_result"
     }
    ],
    "source": [
-    "def info_por_paises(x,y):\n",
+    "# Usando tab completa el nombre de la key. Curioso\n",
+    "compas[\"mamaniy\"]"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Falta explicacion"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def info_por_paises(x,y,z=False):\n",
+    "    \"\"\"\n",
+    "    Esta funcion recibe el diccionario compas en el primer argumento, \n",
+    "    una variable de tipo string con el pais de origen y una\n",
+    "    variable Booleana si el usuario desea que en la información que \n",
+    "    se imprime, aparezca ademas de todo, el usuario de Mattermost\n",
+    "    \n",
     "    \n",
+    "    Retorna la informacion de las personas originarias del pais y\n",
+    "    \"\"\"\n",
     "    # Hago una copia del diccionario compas\n",
     "    copia_compas=x.copy()\n",
     "    \n",
@@ -92,172 +162,245 @@
     "    # Esta parte añade la key=\"usuario mattermost\"\n",
     "    # a los diccionarios que contienen la informacion \n",
     "    # de los compas.\n",
-    "    for r in keys_and_values:\n",
-    "        copia_compas[r[0]][\"usuario mattermost\"]=r[0]\n",
-    "    \n",
-    "    lista_paises=[]\n",
-    "    \n",
-    "    # Hago una lista de los paises de origen de los compas\n",
-    "    # Esta lista puede contener elementos repetidos\n",
-    "    for f in keys_and_values:\n",
-    "        lista_paises.append(copia_compas[f[0]][\"pais\"])\n",
-    "        \n",
-    "    set_paises=set(lista_paises)\n",
+    "    if z:\n",
+    "        for r in keys_and_values:\n",
+    "            copia_compas[r[0]][\"usuario mattermost\"]=r[0]\n",
     "    \n",
     "    # Miro en cada \"subdiccionario\" el pais de origen,\n",
     "    # si este coincide con el pais que se pidio, se imprime el subdiccionario \n",
     "    # de manera bonita.\n",
     "    \n",
-    "    # La inspiracion para imprimir bonito la saque de\n",
-    "    # https://thispointer.com/python-4-ways-to-print-items-of-a-dictionary-line-by-line/\n",
     "    for h in keys_and_values:\n",
     "        if y==h[1][\"pais\"]:\n",
     "            print(\"----------------------------------------------------\")\n",
     "            for llave,valor in h[1].items():\n",
     "                print(llave,\":\",valor)\n",
     "    \n",
-    "    return \"\"\n",
-    "    \n",
-    "    \n",
-    "print(info_por_paises(compas,\"Venezuela\"))        "
+    "    return \"\""
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Ejemplos\n",
+    "\n",
+    "## Pais: *Venezuela*"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [
     {
-     "data": {
-      "text/plain": [
-       "{'nombres': 'Juan Carlos',\n",
-       " 'apellidos': 'Basto Pineda',\n",
-       " 'pais': 'Colombia',\n",
-       " 'residencia': 'Santander',\n",
-       " 'edad': '30',\n",
-       " 'institucion': 'Universidad Industrial de Santander',\n",
-       " 'hobbie': 'divulgacion cientifica'}"
-      ]
-     },
-     "execution_count": 17,
-     "metadata": {},
-     "output_type": "execute_result"
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "----------------------------------------------------\n",
+      "nombres : Reina\n",
+      "apellidos : Camacho Toro\n",
+      "edad : 35\n",
+      "pais : Venezuela\n",
+      "residencia : Francia\n",
+      "especialidad cientifica : Fisica Experimental\n",
+      "institucion : CNRS\n",
+      "hobbie : avistamiento de aves\n",
+      "----------------------------------------------------\n",
+      "nombres : Daniel Arturo\n",
+      "apellidos : Brito Urbina\n",
+      "edad : 26\n",
+      "pais : Venezuela\n",
+      "residencia : Caracas\n",
+      "especialidad cientifica : Teorias de Campos\n",
+      "institucion : Universidad Central de Venezuela\n",
+      "hobbie : Patinetas, Bicicletas y Video juegos\n",
+      "----------------------------------------------------\n",
+      "nombres : Eduardo Enrique\n",
+      "apellidos : Escalante Rondon\n",
+      "edad : 45\n",
+      "pais : Venezuela\n",
+      "residencia : Barquisimeto\n",
+      "especialidad cientifica : Dianmica Molecula\n",
+      "institucion : Universidad Centroccidental Lisandro Alvarado\n",
+      "hobbie : Leer y Escuchar Musica\n",
+      "----------------------------------------------------\n",
+      "nombres : Carla Elena\n",
+      "apellidos : Gomez Alvarado\n",
+      "edad : 27\n",
+      "pais : Venezuela\n",
+      "residencia : Caracas\n",
+      "especialidad cientifica : Fisica Molecular\n",
+      "institucion : Universidad Simon Bolivar\n",
+      "hobbie : Andar en bicicleta, Electronica, Gastronomia\n",
+      "----------------------------------------------------\n",
+      "nombres : Maria Jose\n",
+      "apellidos : Ramos Sotillo\n",
+      "edad : 23\n",
+      "pais : Venezuela\n",
+      "residencia : Merida\n",
+      "especialidad cientifica : Fisica\n",
+      "institucion : Universidad de los Andes\n",
+      "hobbie : escribir\n",
+      "----------------------------------------------------\n",
+      "nombres : Gerardo Jesus\n",
+      "apellidos : Semprum Suarez\n",
+      "edad : 24\n",
+      "pais : Venezuela\n",
+      "residencia : Caracas\n",
+      "especialidad cientifica : Geofísica\n",
+      "institucion : Universidad Central de Venezuela\n",
+      "hobbie : Artes Marciales\n",
+      "\n"
+     ]
     }
    ],
    "source": [
-    "compas[\"juan-pineda\"]"
+    "print(info_por_paises(compas,\"Venezuela\"))        "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Ejemplo\n",
+    "## Pais: *Peru*, retornando ademas el usuario de mattermost"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 23,
    "metadata": {},
    "outputs": [
     {
-     "data": {
-      "text/plain": [
-       "{'nombres': 'Reina',\n",
-       " 'apellidos': 'Camacho Toro',\n",
-       " 'pais': 'Venezuela',\n",
-       " 'residencia': 'Francia',\n",
-       " 'edad': '36',\n",
-       " 'institucion': 'CNRS',\n",
-       " 'hobbie': 'avistamiento de aves'}"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "----------------------------------------------------\n",
+      "nombres : Luis Alberto\n",
+      "apellidos : Leon Andonayre\n",
+      "edad : 22\n",
+      "pais : Perú\n",
+      "residencia : Provincia Constituciona del Callao\n",
+      "especialidad cientifica : Gravitacion\n",
+      "institucion : Universidad Nacional Mayor de San Marcos\n",
+      "hobbie : Escuchar musica y tocar la guitarra\n",
+      "usuario mattermost : leonl\n",
+      "----------------------------------------------------\n",
+      "nombres : Yhony\n",
+      "apellidos : Mamamni Arce\n",
+      "edad : 26\n",
+      "pais : Perú\n",
+      "residencia : Lima\n",
+      "especialidad cientifica : Fisica del Estado Solido\n",
+      "institucion : Universidad Nacional Mayor de San Marcos\n",
+      "hobbie : correr, natacion, leer\n",
+      "usuario mattermost : mamaniy\n",
+      "\n"
+     ]
     }
    ],
    "source": [
-    "compas[\"camacho.reina\"]"
+    "print(info_por_paises(compas,\"Perú\",True))        "
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 32,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "{'nombres': 'Jalil',\n",
-       " 'apellidos': 'Varela Manjarres',\n",
-       " 'pais': 'Colombia',\n",
-       " 'residencia': 'Valle',\n",
-       " 'edad': '25',\n",
-       " 'institucion': 'Universidad del Valle',\n",
-       " 'hobbie': 'viajar'}"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "outputs": [],
    "source": [
-    "compas[\"jalil\"]"
+    "def promedio_edad_compas(x):\n",
+    "    \"\"\"\n",
+    "    Esta funcion recibe como unico argumento el diccionario compas.\n",
+    "    \n",
+    "    Retorna el promedio de las edades\n",
+    "    \"\"\"\n",
+    "    sub_diccionarios=x.values()\n",
+    "    \n",
+    "    edades=[value[\"edad\"] for value in sub_diccionarios]\n",
+    "    \n",
+    "    return sum(edades)/len(edades)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 33,
    "metadata": {},
    "outputs": [
     {
-     "data": {
-      "text/plain": [
-       "{'nombres': 'Jennifer',\n",
-       " 'apellidos': 'Grisales',\n",
-       " 'pais': 'Colombia',\n",
-       " 'residencia': 'Cucuta',\n",
-       " 'edad': '27',\n",
-       " 'institucion': 'Universidad Industrial de Santander',\n",
-       " 'hobbie': 'caminata y deporte'}"
-      ]
-     },
-     "execution_count": 10,
-     "metadata": {},
-     "output_type": "execute_result"
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "27.615384615384617\n"
+     ]
     }
    ],
    "source": [
-    "compas[\"grisalesj\"]"
+    "print(promedio_edad_compas(compas))"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 46,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def instituciones_compas(x):\n",
+    "    \"\"\"\n",
+    "    Esta funcion recibe como unico argumento el diccionario compas.\n",
+    "    \n",
+    "    Retorna las instituciones de las personas sin repeticion\n",
+    "    \"\"\"\n",
+    "    \n",
+    "    dicc_personas=x.values()\n",
+    "    \n",
+    "    # Hago una lista de las instituciones donde estudian y/0 trabajan los compas\n",
+    "    # Esta lista puede contener elementos repetidos\n",
+    "    lista_insti=[dicc[\"institucion\"] for dicc in dicc_personas]\n",
+    "    \n",
+    "    set_insti=set(lista_insti)\n",
+    "    for insti in set_insti:\n",
+    "        print(insti)\n",
+    "    return \"\"    "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 47,
    "metadata": {},
    "outputs": [
     {
-     "data": {
-      "text/plain": [
-       "{'nombres': 'David',\n",
-       " 'apellidos': 'Ramos',\n",
-       " 'pais': 'Colombia',\n",
-       " 'residencia': 'Santander',\n",
-       " 'edad': '26',\n",
-       " 'institucion': 'Universidad Industrial de Santander',\n",
-       " 'hobbie': 'escuchar y tocar musica'}"
-      ]
-     },
-     "execution_count": 11,
-     "metadata": {},
-     "output_type": "execute_result"
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Universidad Nacional de Colombia\n",
+      "CNRS\n",
+      "Universidad Nacional Mayor de San Marcos\n",
+      "Universidad de los Andes\n",
+      "Universidad Simon Bolivar\n",
+      "Universidad del Valle\n",
+      "Universidad Central de Venezuela\n",
+      "Universidad Antonio Nariño\n",
+      "Universidad Industrial de Santander\n",
+      "Universidad Centroccidental Lisandro Alvarado\n",
+      "\n"
+     ]
     }
    ],
    "source": [
-    "compas[\"ramosd\"]"
+    "\n",
+    "print(instituciones_compas(compas))"
    ]
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
-   "source": []
+   "source": [
+    "### Bibliografia\n",
+    "\n",
+    "+ Imprimir bonito el contenido de un diccionario: https://thispointer.com/python-4-ways-to-print-items-of-a-dictionary-line-by-line/"
+   ]
   }
  ],
  "metadata": {