{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Jalil Varela Manjarres\n", "\n", "## Ejercicio 3\n", "* Se crea un diccionario llamado “compas”, donde cada elemento tiene como llave el nombre de usuario en mattermost de un compañero, tal que 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": [ "Diccionarios llamados por el nombre de usuario de mattermos con las llaves “nombre”, “apellido”, “país”, “residencia”, “edad”, “institución”, “hobbie”." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "scrolled": true }, "outputs": [], "source": [ "#Estudiantes\n", "\n", "andreatugores= {\n", " 'nombre': 'Andrea Carolina',\n", " 'apellido':'Tugores Hernández',\n", " 'residencia':'Caracas',\n", " 'edad':'24',\n", " 'pais':'Venezuela',\n", " 'especialidad':'Fisica médica',\n", " 'institucion' : 'Universidad Central de Venezuela',\n", " 'hobbie':'Tennis'\n", "}\n", "\n", "\n", "bermudezj={\n", " 'nombre': 'Jesus David',\n", " 'apellido':'Bermudez Sanchez',\n", " 'residencia':'Bogotá',\n", " 'edad':'24',\n", " 'pais':'Colombia',\n", " 'especialidad':'Estado Solido',\n", " 'institucion' : 'Universidad Nacional de Colombia',\n", " 'hobbie':'enderismo y montar en bicicleta'\n", "}\n", "\n", "britod={\n", " 'nombre': 'Daniel Arturo',\n", " 'apellido':'Brito Urbina',\n", " 'residencia':'Caracas',\n", " 'edad':'26',\n", " 'pais':'Venezuela',\n", " 'especialidad':'Teoria de Campos',\n", " 'institucion' : 'Universidad Central de Venezuela',\n", " 'hobbie':'Patinetas, Bicicletas y Video juegos'\n", "}\n", "\n", "\n", "fernandezn={\n", " 'nombre': 'Nicolás',\n", " 'apellido':'Fernández Cinquepalmi',\n", " 'residencia':'Lima',\n", " 'edad':'27',\n", " 'pais':'Argentina',\n", " 'especialidad':'Fisica Nuclear',\n", " 'institucion' : 'Universidad Nacional Mayor de San Marcos',\n", " 'hobbie':'Piano'\n", "}\n", "\n", "\n", "\n", "grisalesj={\n", " 'nombre': 'Jennifer',\n", " 'apellido':'Grisales',\n", " 'residencia':'Bucaramanga',\n", " 'edad':'27',\n", " 'pais':'Colombia',\n", " 'especialidad':'Astropartículas',\n", " 'institucion' : 'Universidad Industrial de Santander',\n", " 'hobbie':'Rugby, correr, yoga'\n", "}\n", "\n", "\n", "ramosd={\n", " 'nombre': 'David',\n", " 'apellido':'Ramos',\n", " 'residencia':'Bucaramanga',\n", " 'edad':'24',\n", " 'pais':'Colombia',\n", " 'especialidad':'Astrofísica relativista',\n", " 'institucion' : 'Universidad Industrial de Santander',\n", " 'hobbie':'tocar guitarra'\n", "}\n", "\n", "\n", "hernandezj={\n", " 'nombre': 'Juan David',\n", " 'apellido':'Hernandez',\n", " 'residencia':'Bogota',\n", " 'edad':'24',\n", " 'pais':'Colombia',\n", " 'especialidad':'Electrodinamica cuántica',\n", " 'institucion' : 'Universidad Nacional de Colombia',\n", " 'hobbie':'Leer, jugar en el computador'\n", "}\n", "\n", "\n", "malamboj={\n", " 'nombre': 'Jorge Enrique',\n", " 'apellido':'Malambo Martínez',\n", " 'residencia':'Bogota',\n", " 'edad':'39',\n", " 'pais':'Colombia',\n", " 'especialidad':'Modelaje y simulación - ciencia de materiales',\n", " 'institucion' : 'Universidad Nacional de Colombia',\n", " 'hobbie':'Talla en madera - ecoturismo'\n", "}\n", "\n", "\n", "martinezj={\n", " 'nombre': ' Jocabed',\n", " 'apellido':'Martínez',\n", " 'residencia':'Caracas',\n", " 'edad':'22',\n", " 'pais':'Venezuela',\n", " 'especialidad':'Modelaje y simulación - ciencia de materiales',\n", " 'institucion' : 'Universidad Central de Venezuela',\n", " 'hobbie':'Musica'\n", "}\n", "\n", "\n", "pinzonc={\n", " 'nombre': 'Carlos Andres',\n", " 'apellido':'Pinzon Osorio',\n", " 'residencia':'Colombia',\n", " 'edad':'30',\n", " 'pais':'Bogota',\n", " 'especialidad':'Ingeniería física ',\n", " 'institucion' : 'Universidad Antonio de Nariño',\n", " 'hobbie':'Atletismo'\n", "}\n", "\n", "\n", "\n", "\n", "\n", "#Profesores\n", "\n", "juan_pineda={\n", " 'nombre': 'Juan Carlos',\n", " 'apellido':'Basto Pineda',\n", " 'residencia':'Bucaramanga',\n", " 'edad':'37',\n", " 'pais':'Colombia',\n", " 'especialidad':'Astronomia',\n", " 'institucion' : 'Universidad Industrial de Santander',\n", " 'hobbie':'Dibujar, caminatas'\n", "}\n", "\n", "\n", "Inunez={\n", " 'nombre': 'Luis',\n", " 'apellido':'Núñez',\n", " 'residencia':'Bucaramanga',\n", " 'edad':'64',\n", " 'pais':'Venezuela',\n", " 'especialidad':'Astrofisica de Altas Energías',\n", " 'institucion' : 'Universidad Industrial de Santander',\n", " 'hobbie':'Cocina'\n", "}\n", "\n", "\n", "#Dicciomario compas\n", "\n", "\n", "\n", "compas={\n", " 'andreatugores' : andreatugores,\n", " 'bermudezj' : bermudezj,\n", " 'britod' : britod,\n", " 'fernandezn': fernandezn,\n", " 'grisalesj' : grisalesj,\n", " 'ramosd' : ramosd,\n", " 'hernandezj' : hernandezj,\n", " 'malamboj' : malamboj,\n", " 'martinezj' : martinezj,\n", " 'pinzonc' : pinzonc,\n", " 'juan_pineda' : juan_pineda,\n", " 'Inunez' : Inunez \n", "}\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Venezuela\n" ] } ], "source": [ "#Ejemplo\n", "print(compas['Inunez']['pais'])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Funcion encargada de recibir dos variables, una variable tipo diccionario con la informacion de los compañeros, y la otra tipo string, asociada con el pais, esta funcion devuelve una Tabla con las columnas asociadas a nombre,apellido,residencia,edad,pais,especialidad,institucion,hobbie, separadas por un -, de los usuarios del diccionario unicamente asociados al pais especificado en el argumento" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "scrolled": true }, "outputs": [], "source": [ "#Tabla Organizada \n", "def Orden(compas,b):\n", " #Imprime los elementos de la tabla en el orden de la informacion de del diccionario, separados por un -\n", " print('nombre-apellido-residencia-edad-pais-especialidad-institucion-hobbie \\n')\n", "# print('-'.join(list((compas['pinzonc'].keys())))+'\\n')\n", "# itera sobre las llaves del diccionario con los compañeros de LaConga y revisa si el pais es el mismo que el del argumento\n", " for i in compas.keys():\n", "# print(type(i))\n", " if compas[i]['pais']==b:\n", "# De ser el mismo pinta los datos asociados a este usuario\n", " print('-'.join(list((compas[i].values())))+'\\n' )\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ejemplos" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "nombre-apellido-residencia-edad-pais-especialidad-institucion-hobbie \n", "\n", "Jesus David-Bermudez Sanchez-Bogotá-24-Colombia-Estado Solido-Universidad Nacional de Colombia-enderismo y montar en bicicleta\n", "\n", "Jennifer-Grisales-Bucaramanga-27-Colombia-Astropartículas-Universidad Industrial de Santander-Rugby, correr, yoga\n", "\n", "David-Ramos-Bucaramanga-24-Colombia-Astrofísica relativista-Universidad Industrial de Santander-tocar guitarra\n", "\n", "Juan David-Hernandez-Bogota-24-Colombia-Electrodinamica cuántica-Universidad Nacional de Colombia-Leer, jugar en el computador\n", "\n", "Jorge Enrique-Malambo Martínez-Bogota-39-Colombia-Modelaje y simulación - ciencia de materiales-Universidad Nacional de Colombia-Talla en madera - ecoturismo\n", "\n", "Juan Carlos-Basto Pineda-Bucaramanga-37-Colombia-Astronomia-Universidad Industrial de Santander-Dibujar, caminatas\n", "\n" ] } ], "source": [ " \n", "Orden(compas,'Colombia')" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "nombre-apellido-residencia-edad-pais-especialidad-institucion-hobbie \n", "\n", "Andrea Carolina-Tugores Hernández-Caracas-24-Venezuela-Fisica médica-Universidad Central de Venezuela-Tennis\n", "\n", "Daniel Arturo-Brito Urbina-Caracas-26-Venezuela-Teoria de Campos-Universidad Central de Venezuela-Patinetas, Bicicletas y Video juegos\n", "\n", " Jocabed-Martínez-Caracas-22-Venezuela-Modelaje y simulación - ciencia de materiales-Universidad Central de Venezuela-Musica\n", "\n", "Luis-Núñez-Bucaramanga-64-Venezuela-Astrofisica de Altas Energías-Universidad Industrial de Santander-Cocina\n", "\n" ] } ], "source": [ "Orden(compas,'Venezuela')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Se crea un codigo para calcular, a partir del diccionario, el promedio de edad de todas las personas en él" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "#Media de la edad\n", "x=0\n", "for i in compas.keys():\n", " x+=int(compas[i]['edad'])/len(compas.keys())\n" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "30.66666666666666\n" ] } ], "source": [ "#Ejemplo\n", "print(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Se crea un codigo para una mostrar todas las instituciones del diccionario(sin repetición)\n" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "\n", "#Instituciones\n", "#Se inicializa una lista que se llenara con los elementos de las instituciones\n", "s=[]\n", "# Se crea un loop que toma las llaves del diccionario y va añadiendo a s los nombres de las instituciones\n", "for i in compas.keys():\n", " s.append(compas[i]['institucion'])\n", "#Trasnforma a s en un conjunto para eliminar los elementos repetidos\n", "s=set(s)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'Universidad Nacional de Colombia', 'Universidad Industrial de Santander', 'Universidad Central de Venezuela', 'Universidad Antonio de Nariño', 'Universidad Nacional Mayor de San Marcos'}\n" ] } ], "source": [ "#Ejemplo\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[NbConvertApp] Converting notebook Ejercicio3.ipynb to html\n", "[NbConvertApp] Writing 598110 bytes to Ejercicio3.html\n" ] } ], "source": [ "!jupyter nbconvert --to html Ejercicio3.ipynb" ] } ], "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 }