diff --git a/ejercio3.ipynb b/ejercio3.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..3006eef6f2322b12e6316d4b3755e508d17eea07
--- /dev/null
+++ b/ejercio3.ipynb
@@ -0,0 +1,554 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# **Tarea 2. Ejercicio 3.**\n",
+ "## Daniel Brito.\n",
+ "## @britod"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "1.- 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."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "2.- 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 es a la vez otro diccionario, con las llaves “nombreâ€, “apellidoâ€, “paÃsâ€, “residenciaâ€, “edadâ€, “instituciónâ€, “hobbieâ€."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "3.- 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)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Solución:"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Comenzamos creando los diccionarios de los compañeros de LA-CoNGA:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "nicole = {'Nombre':'Angie Nicole Hernández Durán','Edad':23,'Pais':'Colombia','Ciudad':'Bucaramanga','Especialidad':'Análisis de imagen médica','Instituto':'Universidad Industrial de Santander','Hobby':'Dibujar, Pintar, Hacer ejercicio'}\n",
+ "escalantee = {'Nombre':'Eduardo Enrique Escalante Rondón','Edad':46,'Pais':'Venezuela','Ciudad':'Barquisimeto','Especialidad':'Dinámica Molecular','Instituto':'Universidad Centroccidental Lisandro Alvarado','Hobby':'Leer y escuchar musica'}\n",
+ "bermudezj = {'Nombre':'Jesus David Bermudez Sanchez','Edad':25,'Pais':'Colombia','Ciudad':'Bogotá','Especialidad':'Estado Sólido','Instituto':'Universidad Nacional de Colombia','Hobby':'Senderismo y montar bicicleta.'}\n",
+ "britod = {'Nombre':'Daniel Arturo Brito Urbina','Edad':26,'Pais':'Venezuela','Ciudad':'Caracas','Especialidad':'TeorÃas de Campos','Instituto':'Universidad Central de Venezuela','Hobby':'Patinetas, bicicletas y video juegos.'}\n",
+ "aldo = {'Nombre':'Aldo Arriola Córdova','Edad':28,'Pais':'Perú','Ciudad':'Lima','Especialidad':'Magnetismo','Instituto':'Universidad Nacional de IngenierÃa','Hobby':'Música, pelÃculas y caminar.'}\n",
+ "reyesf = {'Nombre':'Felipe Reyes','Edad':22,'Pais':'Colombia','Ciudad':'Cali','Especialidad':'Materia Condensada','Instituto':'Universidad del Valle','Hobby':'Gimnasio.'}\n",
+ "gomezc = {'Nombre':'Carla Elena Gomez Alvarado','Edad':27,'Pais':'Venezuela','Ciudad':'Caracas','Especialidad':'Por definir - FÃsica Molecular / FÃsica del Estado Solido ','Instituto':'Universidad Simón BolÃvar ','Hobby':'Andar en bicicleta, electrónica, gastronomÃa.'}\n",
+ "ladinoj = {'Nombre':'Jose Miguel Ladino Méndez','Edad':24,'Pais':'Colombia','Ciudad':'Bogotá','Especialidad':'Mecánica Celeste Relativista','Instituto':'Universidad Nacional de Colombia','Hobby':'skate, ciclismo, guitarra eléctrica.'}\n",
+ "perezy = {'Nombre':'Yineth Melissa Pérez Ayala','Edad':29,'Pais':'Colombia','Ciudad':'Bogotá','Especialidad':'Nanoestructuras organometálicas','Instituto':'Universidad Nacional de Colombia','Hobby':'Voleibol y libros de ficción.'}\n",
+ "ramosd = {'Nombre':'David Ramos','Edad':24,'Pais':'Colombia','Ciudad':'Bucaramanga','Especialidad':'AstrofÃsica Relativista','Instituto':'Universidad Industrial de Santander','Hobby':'Tocar guitarra.'}\n",
+ "jal = {'Nombre':'José Antonio López','Edad':50,'Pais':'Venezuela','Ciudad':'Caracas','Especialidad':'FÃsico','Instituto':'Universidad Central de Venezuela','Hobby':'Excursionismo, cocinar, leer.'}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Ahora creamos un diccionario llamado 'compas' donde las llaves son los usuarios en Mattermost y losvalores asociados a cada llave son los diccionarios que creamos en la celda anterior"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "compas = {'@nicole': nicole,'@escalantee':escalantee,'@bermudezj':bermudezj,'@britod':britod,'@aldo':aldo,'@reyesf':reyesf,'@gomezc':gomezc,'@ladinoj':ladinoj,'@perezy':perezy,'@ramosd':ramosd,'@jal':jal}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'Venezuela'"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Esta es una prueba sobre como citar los datos de un diccionario de diccionarios \n",
+ "compas['@britod']['Pais']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "dict_items([('@nicole', {'Nombre': 'Angie Nicole Hernández Durán', 'Edad': 23, 'Pais': 'Colombia', 'Ciudad': 'Bucaramanga', 'Especialidad': 'Análisis de imagen médica', 'Instituto': 'Universidad Industrial de Santander', 'Hobby': 'Dibujar, Pintar, Hacer ejercicio'}), ('@escalantee', {'Nombre': 'Eduardo Enrique Escalante Rondón', 'Edad': 46, 'Pais': 'Venezuela', 'Ciudad': 'Barquisimeto', 'Especialidad': 'Dinámica Molecular', 'Instituto': 'Universidad Centroccidental Lisandro Alvarado', 'Hobby': 'Leer y escuchar musica'}), ('@bermudezj', {'Nombre': 'Jesus David Bermudez Sanchez', 'Edad': 25, 'Pais': 'Colombia', 'Ciudad': 'Bogotá', 'Especialidad': 'Estado Sólido', 'Instituto': 'Universidad Nacional de Colombia', 'Hobby': 'Senderismo y montar bicicleta.'}), ('@britod', {'Nombre': 'Daniel Arturo Brito Urbina', 'Edad': 26, 'Pais': 'Venezuela', 'Ciudad': 'Caracas', 'Especialidad': 'TeorÃas de Campos', 'Instituto': 'Universidad Central de Venezuela', 'Hobby': 'Patinetas, bicicletas y video juegos.'}), ('@aldo', {'Nombre': 'Aldo Arriola Córdova', 'Edad': 28, 'Pais': 'Perú', 'Ciudad': 'Lima', 'Especialidad': 'Magnetismo', 'Instituto': 'Universidad Nacional de IngenierÃa', 'Hobby': 'Música, pelÃculas y caminar.'}), ('@reyesf', {'Nombre': 'Felipe Reyes', 'Edad': 22, 'Pais': 'Colombia', 'Ciudad': 'Cali', 'Especialidad': 'Materia Condensada', 'Instituto': 'Universidad del Valle', 'Hobby': 'Gimnasio.'}), ('@gomezc', {'Nombre': 'Carla Elena Gomez Alvarado', 'Edad': 27, 'Pais': 'Venezuela', 'Ciudad': 'Caracas', 'Especialidad': 'Por definir - FÃsica Molecular / FÃsica del Estado Solido ', 'Instituto': 'Universidad Simón BolÃvar ', 'Hobby': 'Andar en bicicleta, electrónica, gastronomÃa.'}), ('@ladinoj', {'Nombre': 'Jose Miguel Ladino Méndez', 'Edad': 24, 'Pais': 'Colombia', 'Ciudad': 'Bogotá', 'Especialidad': 'Mecánica Celeste Relativista', 'Instituto': 'Universidad Nacional de Colombia', 'Hobby': 'skate, ciclismo, guitarra eléctrica.'}), ('@perezy', {'Nombre': 'Yineth Melissa Pérez Ayala', 'Edad': 29, 'Pais': 'Colombia', 'Ciudad': 'Bogotá', 'Especialidad': 'Nanoestructuras organometálicas', 'Instituto': 'Universidad Nacional de Colombia', 'Hobby': 'Voleibol y libros de ficción.'}), ('@ramosd', {'Nombre': 'David Ramos', 'Edad': 24, 'Pais': 'Colombia', 'Ciudad': 'Bucaramanga', 'Especialidad': 'AstrofÃsica Relativista', 'Instituto': 'Universidad Industrial de Santander', 'Hobby': 'Tocar guitarra.'}), ('@jal', {'Nombre': 'José Antonio López', 'Edad': 50, 'Pais': 'Venezuela', 'Ciudad': 'Caracas', 'Especialidad': 'FÃsico', 'Instituto': 'Universidad Central de Venezuela', 'Hobby': 'Excursionismo, cocinar, leer.'})])"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Si queremos crear nuestra función que compare un pais de entrada con la informacion que tiene registrada en el diccinario\n",
+ "## que se ingresa. Necesitamos una forma de acceder a los datos de forma que podamos utilizar variables que podamos recorrer\n",
+ "### de forma simple, por ejemplo con un caracter numérico como en el caso de tuplas o listas.\n",
+ "#### Vamos a usar como inspiracion el comando .items()\n",
+ "compas.items()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "La celda anterior muestra los items que tiene el diccionario de la siguiente forma:\n",
+ "* El diccionario contiene una lista.\n",
+ "* Los elementos de la lista son tuplas con la información de cada estudiante.\n",
+ "* El primer elemento de la tupla es el usuario Mattermost de cada estudiante/profesor y el segundo elemento es el diccionario creado al inicio con toda la información correspondiente."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "['@nicole', '@escalantee', '@bermudezj', '@britod', '@aldo', '@reyesf', '@gomezc', '@ladinoj', '@perezy', '@ramosd', '@jal']\n",
+ "[('@nicole', {'Nombre': 'Angie Nicole Hernández Durán', 'Edad': 23, 'Pais': 'Colombia', 'Ciudad': 'Bucaramanga', 'Especialidad': 'Análisis de imagen médica', 'Instituto': 'Universidad Industrial de Santander', 'Hobby': 'Dibujar, Pintar, Hacer ejercicio'}), ('@escalantee', {'Nombre': 'Eduardo Enrique Escalante Rondón', 'Edad': 46, 'Pais': 'Venezuela', 'Ciudad': 'Barquisimeto', 'Especialidad': 'Dinámica Molecular', 'Instituto': 'Universidad Centroccidental Lisandro Alvarado', 'Hobby': 'Leer y escuchar musica'}), ('@bermudezj', {'Nombre': 'Jesus David Bermudez Sanchez', 'Edad': 25, 'Pais': 'Colombia', 'Ciudad': 'Bogotá', 'Especialidad': 'Estado Sólido', 'Instituto': 'Universidad Nacional de Colombia', 'Hobby': 'Senderismo y montar bicicleta.'}), ('@britod', {'Nombre': 'Daniel Arturo Brito Urbina', 'Edad': 26, 'Pais': 'Venezuela', 'Ciudad': 'Caracas', 'Especialidad': 'TeorÃas de Campos', 'Instituto': 'Universidad Central de Venezuela', 'Hobby': 'Patinetas, bicicletas y video juegos.'}), ('@aldo', {'Nombre': 'Aldo Arriola Córdova', 'Edad': 28, 'Pais': 'Perú', 'Ciudad': 'Lima', 'Especialidad': 'Magnetismo', 'Instituto': 'Universidad Nacional de IngenierÃa', 'Hobby': 'Música, pelÃculas y caminar.'}), ('@reyesf', {'Nombre': 'Felipe Reyes', 'Edad': 22, 'Pais': 'Colombia', 'Ciudad': 'Cali', 'Especialidad': 'Materia Condensada', 'Instituto': 'Universidad del Valle', 'Hobby': 'Gimnasio.'}), ('@gomezc', {'Nombre': 'Carla Elena Gomez Alvarado', 'Edad': 27, 'Pais': 'Venezuela', 'Ciudad': 'Caracas', 'Especialidad': 'Por definir - FÃsica Molecular / FÃsica del Estado Solido ', 'Instituto': 'Universidad Simón BolÃvar ', 'Hobby': 'Andar en bicicleta, electrónica, gastronomÃa.'}), ('@ladinoj', {'Nombre': 'Jose Miguel Ladino Méndez', 'Edad': 24, 'Pais': 'Colombia', 'Ciudad': 'Bogotá', 'Especialidad': 'Mecánica Celeste Relativista', 'Instituto': 'Universidad Nacional de Colombia', 'Hobby': 'skate, ciclismo, guitarra eléctrica.'}), ('@perezy', {'Nombre': 'Yineth Melissa Pérez Ayala', 'Edad': 29, 'Pais': 'Colombia', 'Ciudad': 'Bogotá', 'Especialidad': 'Nanoestructuras organometálicas', 'Instituto': 'Universidad Nacional de Colombia', 'Hobby': 'Voleibol y libros de ficción.'}), ('@ramosd', {'Nombre': 'David Ramos', 'Edad': 24, 'Pais': 'Colombia', 'Ciudad': 'Bucaramanga', 'Especialidad': 'AstrofÃsica Relativista', 'Instituto': 'Universidad Industrial de Santander', 'Hobby': 'Tocar guitarra.'}), ('@jal', {'Nombre': 'José Antonio López', 'Edad': 50, 'Pais': 'Venezuela', 'Ciudad': 'Caracas', 'Especialidad': 'FÃsico', 'Instituto': 'Universidad Central de Venezuela', 'Hobby': 'Excursionismo, cocinar, leer.'})]\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Vamos a intentar recorrer los elementos del diccionario compas de la siguiente forma:\n",
+ "\n",
+ "lista_prueba = [] # Creamos una lista vacia, sonde se supone vamos a guardar la info del diccionario compas\n",
+ "for k in compas: # Con este 'for' vamos a recorrer los elementos del diccionario compas.\n",
+ " ## Los k que pertenecen a compas son las llaves del diccionario, es decir, objetos tipo cadenas (strings).\n",
+ " \n",
+ " lista_prueba.append(k) # Aquà vamos a agregar las llaves de compas a lanueva lista que creamos.\n",
+ " ## Esto lo vamos a hacer con el fin de poder acceder a la información del diccionario usando\n",
+ " ### una etiqueta numérica que vamos a definir en un momento.\n",
+ " \n",
+ "print(lista_prueba) # -----------------------------------> LISTA ARMADA CON LOS mattermost\n",
+ "\n",
+ "lista_prueba2 = lista_prueba.copy() # Aquà creamos un clon para poder trabajar sobre el sin perder información.\n",
+ "\n",
+ "for n in range(0,len(lista_prueba),1): # Aquà estamos definiendo la variable numérica que mencionamos hace un momento.\n",
+ " ## Con esta variable vamos a acceder a la información del diccionario por medio de \n",
+ " ### un caracter numérico.\n",
+ " lista_prueba2[n] = (lista_prueba[n],compas[lista_prueba[n]]) # Cambiamos el valor del elemento n de la lista clon\n",
+ " ## por una tupla que contenga como primera entrada el \n",
+ " ### el usuario en Mattermost y como segunda entrada la \n",
+ " #### información contenida en el diccionario respectivo\n",
+ " \n",
+ "print(lista_prueba2) # Esta es la lista que contiene la misma información que el diccionario compas. La diferencia es que \n",
+ " ## ahora podemos acceder a los datos de dicha lista utilizando caracteres numericos que son mas simples\n",
+ " ### para recorrer."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'Venezuela'"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Esta es una prueba, vamos a conocer el PaÃs al que pertenece el compañero en la posición 3 de lista. Recordemos que la\n",
+ "## la informacion del paÃs esta dentro del elemento de la lista, dentro de una tupla, que a si vez contiene un diccionario\n",
+ "lista_prueba2[3][1]['Pais'] # [3]: compañero en la posicion 3 de la lista.\n",
+ " ## [1]: elemto de la tupla que contiene la información solicitada.\n",
+ " ### ['Pais']: Pais al que pertenece."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Ahora, estamos listos para definir nuestra funcion que proporcione los compañeros que pertenecen a un paÃs."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Primero definimos una función que acepte como entradas: un diccionario del cual obtener información \n",
+ "## y un Pais con el cual comparar.\n",
+ "\n",
+ "def toma_1(diccionario,Pais):\n",
+ " v = True # Esta variable corrobora si podemos imprimir o no un resultado\n",
+ " if type(diccionario) == dict: # Corroboramos que la entrada sea un objeto tipo diccionario.\n",
+ " print('Muy bien, es un diccionario :)')\n",
+ " else:\n",
+ " print('Por favor ingrese un diccionario')\n",
+ " v= False\n",
+ " \n",
+ " if type(Pais) != str : # Corroboramos que el paÃs de entrada sea un objeto tipo string.\n",
+ " print('Por favor, ingresa una cadena')\n",
+ " v = False\n",
+ " \n",
+ " # Aquà vamos a colocoar el código que construimos en In[5] \n",
+ " lista_prueba = [] # Creamos una lista vacia, sonde se supone vamos a guardar la info del diccionario compas\n",
+ " for k in compas: # Con este 'for' vamos a recorrer los elementos del diccionario compas.\n",
+ " ## Los k que pertenecen a compas son las llaves del diccionario, es decir, objetos tipo cadenas (strings).\n",
+ " \n",
+ " lista_prueba.append(k) # Aquà vamos a agregar las llaves de compas a lanueva lista que creamos.\n",
+ " ## Esto lo vamos a hacer con el fin de poder acceder a la información del diccionario usando\n",
+ " ### una etiqueta numérica que vamos a definir en un momento.\n",
+ " \n",
+ " # print(lista_prueba) # -----------------------------------> LISTA ARMADA CON LOS mattermost\n",
+ "\n",
+ " lista_prueba2 = lista_prueba.copy() # Aquà creamos un clon para poder trabajar sobre el sin perder información.\n",
+ "\n",
+ " for n in range(0,len(lista_prueba),1): # Aquà estamos definiendo la variable numérica que mencionamos hace un momento.\n",
+ " ## Con esta variable vamos a acceder a la información del diccionario por \n",
+ " ### medio de un caracter numérico.\n",
+ " \n",
+ " lista_prueba2[n] = (lista_prueba[n],compas[lista_prueba[n]]) # Cambiamos el valor del elemento n de la lista clon\n",
+ " ## por una tupla que contenga como primera entrada el \n",
+ " ### el usuario en Mattermost y como segunda entrada la \n",
+ " #### información contenida en el diccionario respectivo\n",
+ " \n",
+ " # print(lista_prueba2) # Esta es la lista que contiene la misma información que el diccionario compas. \n",
+ " ## La diferencia es que ahora podemos acceder a los datos de dicha lista utilizando caracteres \n",
+ " ### numericos que son mas simples para recorrer.\n",
+ " info_solicitada = []\n",
+ " for l in range(0,len(lista_prueba2),1):\n",
+ " if Pais == lista_prueba2[l][1]['Pais']:\n",
+ " info_solicitada.append(lista_prueba2[l][1])\n",
+ " \n",
+ " if v==True:\n",
+ " return info_solicitada"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Muy bien, es un diccionario :)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "[{'Nombre': 'Angie Nicole Hernández Durán',\n",
+ " 'Edad': 23,\n",
+ " 'Pais': 'Colombia',\n",
+ " 'Ciudad': 'Bucaramanga',\n",
+ " 'Especialidad': 'Análisis de imagen médica',\n",
+ " 'Instituto': 'Universidad Industrial de Santander',\n",
+ " 'Hobby': 'Dibujar, Pintar, Hacer ejercicio'},\n",
+ " {'Nombre': 'Jesus David Bermudez Sanchez',\n",
+ " 'Edad': 25,\n",
+ " 'Pais': 'Colombia',\n",
+ " 'Ciudad': 'Bogotá',\n",
+ " 'Especialidad': 'Estado Sólido',\n",
+ " 'Instituto': 'Universidad Nacional de Colombia',\n",
+ " 'Hobby': 'Senderismo y montar bicicleta.'},\n",
+ " {'Nombre': 'Felipe Reyes',\n",
+ " 'Edad': 22,\n",
+ " 'Pais': 'Colombia',\n",
+ " 'Ciudad': 'Cali',\n",
+ " 'Especialidad': 'Materia Condensada',\n",
+ " 'Instituto': 'Universidad del Valle',\n",
+ " 'Hobby': 'Gimnasio.'},\n",
+ " {'Nombre': 'Jose Miguel Ladino Méndez',\n",
+ " 'Edad': 24,\n",
+ " 'Pais': 'Colombia',\n",
+ " 'Ciudad': 'Bogotá',\n",
+ " 'Especialidad': 'Mecánica Celeste Relativista',\n",
+ " 'Instituto': 'Universidad Nacional de Colombia',\n",
+ " 'Hobby': 'skate, ciclismo, guitarra eléctrica.'},\n",
+ " {'Nombre': 'Yineth Melissa Pérez Ayala',\n",
+ " 'Edad': 29,\n",
+ " 'Pais': 'Colombia',\n",
+ " 'Ciudad': 'Bogotá',\n",
+ " 'Especialidad': 'Nanoestructuras organometálicas',\n",
+ " 'Instituto': 'Universidad Nacional de Colombia',\n",
+ " 'Hobby': 'Voleibol y libros de ficción.'},\n",
+ " {'Nombre': 'David Ramos',\n",
+ " 'Edad': 24,\n",
+ " 'Pais': 'Colombia',\n",
+ " 'Ciudad': 'Bucaramanga',\n",
+ " 'Especialidad': 'AstrofÃsica Relativista',\n",
+ " 'Instituto': 'Universidad Industrial de Santander',\n",
+ " 'Hobby': 'Tocar guitarra.'}]"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Esta es la prueba que nuestra función definida retorna la información pedida\n",
+ "toma_1(compas,'Colombia')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Muy bien, es un diccionario :)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "[{'Nombre': 'Eduardo Enrique Escalante Rondón',\n",
+ " 'Edad': 46,\n",
+ " 'Pais': 'Venezuela',\n",
+ " 'Ciudad': 'Barquisimeto',\n",
+ " 'Especialidad': 'Dinámica Molecular',\n",
+ " 'Instituto': 'Universidad Centroccidental Lisandro Alvarado',\n",
+ " 'Hobby': 'Leer y escuchar musica'},\n",
+ " {'Nombre': 'Daniel Arturo Brito Urbina',\n",
+ " 'Edad': 26,\n",
+ " 'Pais': 'Venezuela',\n",
+ " 'Ciudad': 'Caracas',\n",
+ " 'Especialidad': 'TeorÃas de Campos',\n",
+ " 'Instituto': 'Universidad Central de Venezuela',\n",
+ " 'Hobby': 'Patinetas, bicicletas y video juegos.'},\n",
+ " {'Nombre': 'Carla Elena Gomez Alvarado',\n",
+ " 'Edad': 27,\n",
+ " 'Pais': 'Venezuela',\n",
+ " 'Ciudad': 'Caracas',\n",
+ " 'Especialidad': 'Por definir - FÃsica Molecular / FÃsica del Estado Solido ',\n",
+ " 'Instituto': 'Universidad Simón BolÃvar ',\n",
+ " 'Hobby': 'Andar en bicicleta, electrónica, gastronomÃa.'},\n",
+ " {'Nombre': 'José Antonio López',\n",
+ " 'Edad': 50,\n",
+ " 'Pais': 'Venezuela',\n",
+ " 'Ciudad': 'Caracas',\n",
+ " 'Especialidad': 'FÃsico',\n",
+ " 'Instituto': 'Universidad Central de Venezuela',\n",
+ " 'Hobby': 'Excursionismo, cocinar, leer.'}]"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Vamos a hacer otra prueba consultando lo miembros del diccionario que ertenecen al paÃs Venezuela\n",
+ "toma_1(compas,'Venezuela')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##### Vamos a modificar la función toma_1() para poder 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)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def toma_2(diccionario,Pais):\n",
+ " v = True # Esta variable corrobora si podemos imprimir o no un resultado\n",
+ " if type(diccionario) == dict: # Corroboramos que la entrada sea un objeto tipo diccionario.\n",
+ " print('Muy bien, es un diccionario :)')\n",
+ " else:\n",
+ " print('Por favor ingrese un diccionario')\n",
+ " v= False\n",
+ " \n",
+ " if type(Pais) != str : # Corroboramos que el paÃs de entrada sea un objeto tipo string.\n",
+ " print('Por favor, ingresa una cadena')\n",
+ " v = False\n",
+ " \n",
+ " # Aquà vamos a colocoar el código que construimos en la celda numero 5. \n",
+ " lista_prueba = [] # Creamos una lista vacia, sonde se supone vamos a guardar la info del diccionario compas\n",
+ " for k in compas: # Con este 'for' vamos a recorrer los elementos del diccionario compas.\n",
+ " ## Los k que pertenecen a compas son las llaves del diccionario, es decir, objetos tipo cadenas (strings).\n",
+ " \n",
+ " lista_prueba.append(k) # Aquà vamos a agregar las llaves de compas a lanueva lista que creamos.\n",
+ " ## Esto lo vamos a hacer con el fin de poder acceder a la información del diccionario usando\n",
+ " ### una etiqueta numérica que vamos a definir en un momento.\n",
+ " \n",
+ " # print(lista_prueba) # -----------------------------------> LISTA ARMADA CON LOS mattermost\n",
+ "\n",
+ " lista_prueba2 = lista_prueba.copy() # Aquà creamos un clon para poder trabajar sobre el sin perder información.\n",
+ "\n",
+ " for n in range(0,len(lista_prueba),1): # Aquà estamos definiendo la variable numérica que mencionamos hace un momento.\n",
+ " ## Con esta variable vamos a acceder a la información del diccionario por \n",
+ " ### medio de un caracter numérico.\n",
+ " \n",
+ " lista_prueba2[n] = (lista_prueba[n],compas[lista_prueba[n]]) # Cambiamos el valor del elemento n de la lista clon\n",
+ " ## por una tupla que contenga como primera entrada el \n",
+ " ### el usuario en Mattermost y como segunda entrada la \n",
+ " #### información contenida en el diccionario respectivo\n",
+ " \n",
+ " # print(lista_prueba2) # Esta es la lista que contiene la misma información que el diccionario compas. \n",
+ " ## La diferencia es que ahora podemos acceder a los datos de dicha lista utilizando caracteres \n",
+ " ### numericos que son mas simples para recorrer.\n",
+ " info_solicitada = []\n",
+ " edad_total = 0\n",
+ " instituciones_de_educacion = []\n",
+ " for l in range(0,len(lista_prueba2),1):\n",
+ " if Pais == lista_prueba2[l][1]['Pais']:\n",
+ " info_solicitada.append(lista_prueba2[l][1])\n",
+ " \n",
+ " # Vamos a calcular el promedio de las edades de todos los miembros del diccionario en este mismo for\n",
+ " edad_total = edad_total + lista_prueba2[l][1]['Edad']\n",
+ " \n",
+ " # Vamos a almacenar la información referente a las instituciones educativas\n",
+ " instituciones_de_educacion.append(lista_prueba2[l][1]['Instituto'])\n",
+ " \n",
+ " # La lista instituciones_de_educacion tiene elementos repetidos, vamos a eliminarlos transformando la lista en un set()\n",
+ " # La respuesta la vamos a proporcionar en un formato de diccionario\n",
+ " respuesta = {'Estudiantes del paÃs ingrasado':info_solicitada, 'Edad promedio': edad_total/(len(compas)),'Instituciones':set(instituciones_de_educacion)}\n",
+ " if v==True:\n",
+ " return respuesta"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 73,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Muy bien, es un diccionario :)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "{'Estudiantes del paÃs ingrasado': [{'Nombre': 'Eduardo Enrique Escalante Rondón',\n",
+ " 'Edad': 46,\n",
+ " 'Pais': 'Venezuela',\n",
+ " 'Ciudad': 'Barquisimeto',\n",
+ " 'Especialidad': 'Dinámica Molecular',\n",
+ " 'Instituto': 'Universidad Centroccidental Lisandro Alvarado',\n",
+ " 'Hobby': 'Leer y escuchar musica'},\n",
+ " {'Nombre': 'Daniel Arturo Brito Urbina',\n",
+ " 'Edad': 26,\n",
+ " 'Pais': 'Venezuela',\n",
+ " 'Ciudad': 'Caracas',\n",
+ " 'Especialidad': 'TeorÃas de Campos',\n",
+ " 'Instituto': 'Universidad Central de Venezuela',\n",
+ " 'Hobby': 'Patinetas, bicicletas y video juegos.'},\n",
+ " {'Nombre': 'Carla Elena Gomez Alvarado',\n",
+ " 'Edad': 27,\n",
+ " 'Pais': 'Venezuela',\n",
+ " 'Ciudad': 'Caracas',\n",
+ " 'Especialidad': 'Por definir - FÃsica Molecular / FÃsica del Estado Solido ',\n",
+ " 'Instituto': 'Universidad Simón BolÃvar ',\n",
+ " 'Hobby': 'Andar en bicicleta, electrónica, gastronomÃa.'},\n",
+ " {'Nombre': 'José Antonio López',\n",
+ " 'Edad': 50,\n",
+ " 'Pais': 'Venezuela',\n",
+ " 'Ciudad': 'Caracas',\n",
+ " 'Especialidad': 'FÃsico',\n",
+ " 'Instituto': 'Universidad Central de Venezuela',\n",
+ " 'Hobby': 'Excursionismo, cocinar, leer.'}],\n",
+ " 'Edad promedio': 29.454545454545453,\n",
+ " 'Instituciones': {'Universidad Central de Venezuela',\n",
+ " 'Universidad Centroccidental Lisandro Alvarado',\n",
+ " 'Universidad Industrial de Santander',\n",
+ " 'Universidad Nacional de Colombia',\n",
+ " 'Universidad Nacional de IngenierÃa',\n",
+ " 'Universidad Simón BolÃvar ',\n",
+ " 'Universidad del Valle'}}"
+ ]
+ },
+ "execution_count": 73,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "toma_2(compas,'Venezuela')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}