diff --git a/ejercicio3.ipynb b/ejercicio3.ipynb index f4181bfb8a703b47f6f1156965ccfabad38b5319..2e5f838560745556e6ac8545aabd5d36882bd55a 100644 --- a/ejercicio3.ipynb +++ b/ejercicio3.ipynb @@ -1,28 +1,431 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Jocabed MartÃnez\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Amigos congueros\n", + "\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, paÃs de origen, ciudad donde residen, su especialidad cientÃfica, nombre del instituto en que estudian/laboran, y un hobbie o afición.\n", + "\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 es a la vez otro diccionario, con las llavies \"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)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Creamos un diccionario llamado compas, con la información de varias personas de LaConga. A continuación se muestra el diccionario." + ] + }, { "cell_type": "code", "execution_count": 1, "metadata": {}, + "outputs": [], + "source": [ + "compas = {'martinezj' : \n", + " {'nombre' : 'Jocabed' , \n", + " 'apellido' : 'MartÃnez' , \n", + " 'paÃs' : 'Venezuela' , \n", + " 'residencia' : 'Caracas', \n", + " 'edad' : 22 , \n", + " 'institución' : 'Universidad Central de Venezuela' , \n", + " 'hobbie' : 'música'\n", + " },\n", + " 'tugoresa' : {'nombre' : 'Andrea' , \n", + " 'apellido' : 'Tugores' , \n", + " 'paÃs' : 'Venezuela' , \n", + " 'residencia' : 'Caracas', \n", + " 'edad' : 24 , \n", + " 'institución' : 'Universidad Central de Venezuela' , \n", + " 'hobbie' : 'tennis'\n", + " },\n", + " 'semprung' : {'nombre' : 'Gerardo' , \n", + " 'apellido' : 'Semprúm' , \n", + " 'paÃs' : 'Venezuela' , \n", + " 'residencia' : 'Caracas', \n", + " 'edad' : 24 , \n", + " 'institución' : 'Universidad Central de Venezuela' , \n", + " 'hobbie' : 'artes marciales'\n", + " },\n", + " 'afont' : {'nombre' : 'AnamarÃa' , \n", + " 'apellido' : 'Font' , \n", + " 'paÃs' : 'Venezuela' , \n", + " 'residencia' : 'Alemania', \n", + " 'edad' : 61 , \n", + " 'institución' : 'Universidad Central de Venezuela' , \n", + " 'hobbie' : 'leer'\n", + " },\n", + " 'fernandezn' : {'nombre' : 'Nicolás' , \n", + " 'apellido' : 'Fernández' , \n", + " 'paÃs' : 'Argentina' , \n", + " 'residencia' : 'Perú', \n", + " 'edad' : 27 , \n", + " 'institución' : 'Universidad Nacional Mayor de San Marcos' , \n", + " 'hobbie' : 'piano'\n", + " },\n", + " 'juan-pineda' : {'nombre' : 'Juan' , \n", + " 'apellido' : 'Pineda' , \n", + " 'paÃs' : 'Colombia' , \n", + " 'residencia' : 'Bucaramanga', \n", + " 'edad' : 37 , \n", + " 'institución' : 'Universidad Industrial de Santander' , \n", + " 'hobbie' : 'dibujo y caminatas en la naturaleza'\n", + " },\n", + " 'cristian.velandia' : {'nombre' : 'Cristian' , \n", + " 'apellido' : 'Velandia' , \n", + " 'paÃs' : 'Colombia' , \n", + " 'residencia' : 'Colombia', \n", + " 'edad' : 27 , \n", + " 'institución' : 'Universidad Nacional de Colombia' , \n", + " 'hobbie' : 'anime, videos juegos'\n", + " },\n", + " 'grisalesj' : {'nombre' : 'Jennifer' , \n", + " 'apellido' : 'Grisales' , \n", + " 'paÃs' : 'Colombia' , \n", + " 'residencia' : 'Bucaramanga', \n", + " 'edad' : 27 , \n", + " 'institución' : 'Universidad Industrial de Santander' , \n", + " 'hobbie' : 'rugby'\n", + " },\n", + " 'escalantee' : {'nombre' : 'Eduardo' , \n", + " 'apellido' : 'Escalante' , \n", + " 'paÃs' : 'Venezuela' , \n", + " 'residencia' : 'Venezuela', \n", + " 'edad' : 46 , \n", + " 'institución' : 'Universidad Simón BolÃvar' , \n", + " 'hobbie' : 'música'\n", + " },\n", + " 'omarasto' : {'nombre' : 'Omar' , \n", + " 'apellido' : 'Asto' , \n", + " 'paÃs' : 'Perú' , \n", + " 'residencia' : 'Lima', \n", + " 'edad' : 25 , \n", + " 'institución' : 'Universidad Nacional de IngenierÃa' , \n", + " 'hobbie' : 'leer'\n", + " },\n", + " 'mamaniy' : {'nombre' : 'Yhony' , \n", + " 'apellido' : 'Mamani Arce' , \n", + " 'paÃs' : 'Perú' , \n", + " 'residencia' : 'Perú', \n", + " 'edad' : 26 , \n", + " 'institución' : 'Universidad Nacional Mayor de San Marcos' , \n", + " 'hobbie' : 'correr'\n", + " },\n", + " 'acerot' : {'nombre' : 'Tatiana' , \n", + " 'apellido' : 'Acero Cuellar' , \n", + " 'paÃs' : 'Colombia' , \n", + " 'residencia' : 'Colombia', \n", + " 'edad' : 27 , \n", + " 'institución' : 'Universidad Nacional de Colombia' , \n", + " 'hobbie' : 'anime, cocinar,senderismo'\n", + " }\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ahora, creamos una función para mostrar la información de todas las personas de un mismo paÃs." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "#Función para mostrar la información de todas las personas de un mismo paÃs\n", + "def info(dict, str): #Argumentos, el diccionario y el paÃs\n", + " print('La información de compas de', str,'es:' '\\n') #Un encabezado antes de que muestre toda la info\n", + " for compa,info in dict.items(): #Para cada usuario, información de usuario en los items del diccionario\n", + " if dict[compa]['paÃs'] == str: #Si el str en el argumento es igual al paÃs del usuario\n", + " for i in info: #Cada información de ese usuario\n", + " print(i,': ',info[i]) #Imprimirla\n", + " print()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Probamos con Colombia." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "La información de compas de Colombia es:\n", + "\n", + "nombre : Juan\n", + "apellido : Pineda\n", + "paÃs : Colombia\n", + "residencia : Bucaramanga\n", + "edad : 37\n", + "institución : Universidad Industrial de Santander\n", + "hobbie : dibujo y caminatas en la naturaleza\n", + "\n", + "nombre : Cristian\n", + "apellido : Velandia\n", + "paÃs : Colombia\n", + "residencia : Colombia\n", + "edad : 27\n", + "institución : Universidad Nacional de Colombia\n", + "hobbie : anime, videos juegos\n", + "\n", + "nombre : Jennifer\n", + "apellido : Grisales\n", + "paÃs : Colombia\n", + "residencia : Bucaramanga\n", + "edad : 27\n", + "institución : Universidad Industrial de Santander\n", + "hobbie : rugby\n", + "\n", + "nombre : Tatiana\n", + "apellido : Acero Cuellar\n", + "paÃs : Colombia\n", + "residencia : Colombia\n", + "edad : 27\n", + "institución : Universidad Nacional de Colombia\n", + "hobbie : anime, cocinar,senderismo\n", + "\n" + ] + } + ], + "source": [ + "info(compas, 'Colombia')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Vemos que se imprime la información de todas las personas de Colombia. Probemos con Perú." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "La información de compas de Perú es:\n", + "\n", + "nombre : Omar\n", + "apellido : Asto\n", + "paÃs : Perú\n", + "residencia : Lima\n", + "edad : 25\n", + "institución : Universidad Nacional de IngenierÃa\n", + "hobbie : leer\n", + "\n", + "nombre : Yhony\n", + "apellido : Mamani Arce\n", + "paÃs : Perú\n", + "residencia : Perú\n", + "edad : 26\n", + "institución : Universidad Nacional Mayor de San Marcos\n", + "hobbie : correr\n", + "\n" + ] + } + ], + "source": [ + "info(compas, 'Perú')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Obtenemos la información de las personas de Perú. Finalmente, Venezuela." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "hola\n" + "La información de compas de Venezuela es:\n", + "\n", + "nombre : Jocabed\n", + "apellido : MartÃnez\n", + "paÃs : Venezuela\n", + "residencia : Caracas\n", + "edad : 22\n", + "institución : Universidad Central de Venezuela\n", + "hobbie : música\n", + "\n", + "nombre : Andrea\n", + "apellido : Tugores\n", + "paÃs : Venezuela\n", + "residencia : Caracas\n", + "edad : 24\n", + "institución : Universidad Central de Venezuela\n", + "hobbie : tennis\n", + "\n", + "nombre : Gerardo\n", + "apellido : Semprúm\n", + "paÃs : Venezuela\n", + "residencia : Caracas\n", + "edad : 24\n", + "institución : Universidad Central de Venezuela\n", + "hobbie : artes marciales\n", + "\n", + "nombre : AnamarÃa\n", + "apellido : Font\n", + "paÃs : Venezuela\n", + "residencia : Alemania\n", + "edad : 61\n", + "institución : Universidad Central de Venezuela\n", + "hobbie : leer\n", + "\n", + "nombre : Eduardo\n", + "apellido : Escalante\n", + "paÃs : Venezuela\n", + "residencia : Venezuela\n", + "edad : 46\n", + "institución : Universidad Simón BolÃvar\n", + "hobbie : música\n", + "\n" ] } ], "source": [ - "print('hola')" + "info(compas, 'Venezuela')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Obtenemos la información de las personas de Venezuela." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ahora, creamos una función para obtener el promedio de las edades de todas personas del diccionario compas." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "#Función para el promedio de las edades\n", + "\n", + "def pro(dict): #Argumento, el diccionario\n", + " s = 0 #Esta será la suma de las edades\n", + " n = 0 #Esta será el nųmero de elementos\n", + " for compa in dict.keys(): #Para cada compa del diccionario\n", + " s = s + dict[compa]['edad'] #Sumamos las edades \n", + " n = n + 1 #Número de edades\n", + " pro = s / n #Este serÃa el promedio\n", + " print('El promedio de las edades de los compas es: ')\n", + " print(pro, '\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Teniendo la función, obtenemos el promedio de todas las edades." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "El promedio de las edades de los compas es: \n", + "31.083333333333332 \n", + "\n" + ] + } + ], + "source": [ + "pro(compas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finalmente, imprimimos todas las instituciones de todas las personas sin repetición. Para esto creamos otra función." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "#Función para mostrar todas las instituciones sin repetición\n", + "def inst(dict): #Argumento, el diccionario\n", + " list_inst = [] #Lista de instituciones\n", + " print('Las instituciones de todos los compas son: ') #Un encabezado\n", + " print()\n", + " for compa in dict.keys(): #Para cada usuario\n", + " if dict[compa]['institución'] not in list_inst: #Si la institución no está en la lista, agregarla\n", + " list_inst.append(dict[compa]['institución'])\n", + " for inst in list_inst: #Cada institución imprimirla\n", + " print(inst)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Las instituciones de todos los compas son: \n", + "\n", + "Universidad Central de Venezuela\n", + "Universidad Nacional Mayor de San Marcos\n", + "Universidad Industrial de Santander\n", + "Universidad Nacional de Colombia\n", + "Universidad Simón BolÃvar\n", + "Universidad Nacional de IngenierÃa\n" + ] + } + ], + "source": [ + "inst(compas)" + ] } ], "metadata": {