diff --git a/ejercicio3.ipynb b/ejercicio3.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..d36b36e27d92795af0bcbd01601ff90485e53fa2 --- /dev/null +++ b/ejercicio3.ipynb @@ -0,0 +1,241 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Nombre: Jennifer Ortega \n", + "### Ejercicio No. 3 - Amigos congueros" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- 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", + "- 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â€.\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": [ + "## Resolución\n", + "- Primero creamos un diccionario principal.\n", + "- A cada llave se le asociará un nuevo diccionario con la informacion de los compañeros." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "compas = {'OrtegaJ': {'edad':25, 'nombre': 'jennifer', 'apellido':'ortega', 'hobbie':'dibujar', 'institucion': 'Escuela Politecnica Nacional', 'pais': 'ecuador' , 'residencia': 'ecuador'},\n", + " 'VelandiaC' : {'edad':27, 'nombre': 'cristian', 'apellido':'velandia', 'hobbie':'anime', 'institucion': 'Universida Nacional de Colombia', 'pais': 'colombia', 'residencia':'colombia' },\n", + " 'Aldo' : {'edad':26, 'nombre': 'aldo', 'apellido':'arriola', 'hobbie':'dibujo', 'institucion': 'Universidad Nacional de IngenierÃa', 'pais': 'peru', 'residencia':'peru' },\n", + " 'bermudezj' : {'edad':25, 'nombre': 'jesus', 'apellido':'bermudez', 'hobbie':'senderismo', 'institucion': 'Universida Nacional de Colombia', 'pais': 'colombia', 'residencia':'colombia' },\n", + " 'Nicole' : {'edad':23, 'nombre': 'angie', 'apellido':'hernandez', 'hobbie':'dibujo', 'institucion': 'Universidad Industrial de Santander', 'pais': 'colombia', 'residencia':'colombia' },\n", + " 'FernandezN': {'edad':27, 'nombre': 'nicolas', 'apellido':'fernandez', 'hobbie':'piano', 'institucion': 'Universidad Nacional Mayor de San Marcos' , 'pais':'argentina', 'residencia':'peru'}}" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'edad': 27,\n", + " 'nombre': 'cristian',\n", + " 'apellido': 'velandia',\n", + " 'hobbie': 'anime',\n", + " 'institucion': 'Universida Nacional de Colombia',\n", + " 'pais': 'colombia',\n", + " 'residencia': 'colombia'}" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "compas['VelandiaC'] # Por medio de la llave ingresamos a la informacion dentro de VelandiaC " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Aqui utilizamos 2 llaves, la una para el diccionario principal, y la otra para el diccionario con la información de los compañeros, los cuales estan dentro del diccionario principal." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'colombia'" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "compas['VelandiaC']['nombre']\n", + "compas['VelandiaC']['pais']" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VelandiaC\n", + "edad : 27\n", + "nombre : cristian\n", + "apellido : velandia\n", + "hobbie : anime\n", + "institucion : Universida Nacional de Colombia\n", + "pais : colombia\n", + "residencia : colombia\n", + "--------------------------------------\n", + "bermudezj\n", + "edad : 25\n", + "nombre : jesus\n", + "apellido : bermudez\n", + "hobbie : senderismo\n", + "institucion : Universida Nacional de Colombia\n", + "pais : colombia\n", + "residencia : colombia\n", + "--------------------------------------\n", + "Nicole\n", + "edad : 23\n", + "nombre : angie\n", + "apellido : hernandez\n", + "hobbie : dibujo\n", + "institucion : Universidad Industrial de Santander\n", + "pais : colombia\n", + "residencia : colombia\n", + "--------------------------------------\n" + ] + } + ], + "source": [ + "def funcion_dic(diccionario, pais):\n", + " '''Funcion que recibe un diccionario y un pais y retorna en forma tabulada la informacion de cada compañero \n", + " que pertenesca a cada pais.'''\n", + " for usuarios in diccionario.keys():\n", + " if diccionario[usuarios]['pais'] == pais: # verificamos que el pais de los compañeros coincide con el ingresado\n", + " print(usuarios)\n", + " for key, value in diccionario[usuarios].items():\n", + " print(key, ':', value)\n", + " print('--------------------------------------') \n", + "funcion_dic(compas, 'colombia') " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "def edad_promedio(diccionario):\n", + " '''Funcion que recibe un diccionario y extrae el promedio de edades'''\n", + " promedio_edad= 0\n", + " i = 0 \n", + " for usuarios in diccionario.keys():\n", + " promedio_edad = promedio_edad + diccionario[usuarios]['edad'] # sumamos todas las edades de cada compañero\n", + " i += 1\n", + " return promedio_edad/i" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "25.5" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "edad_promedio(compas)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Escuela Politecnica Nacional',\n", + " 'Universida Nacional de Colombia',\n", + " 'Universidad Nacional de IngenierÃa',\n", + " 'Universidad Industrial de Santander',\n", + " 'Universidad Nacional Mayor de San Marcos']" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def institucion(diccionario):\n", + " '''Funcion que retorna todas las intituciones a las que perteneca cada compañero, sin repeticion'''\n", + " instituciones = []\n", + " instituciones_final = []\n", + " for usuarios in diccionario.keys():\n", + " instituciones.append(diccionario[usuarios]['institucion']) # extraemos el nombre de cada institucion\n", + " for i in instituciones: # para evitar repeticiones al mostrar las intituciones\n", + " if i not in instituciones_final:\n", + " instituciones_final.append(i)\n", + " return instituciones_final\n", + "institucion(compas)" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}