diff --git a/ejercicio3.ipynb b/ejercicio3.ipynb index 08333e486076da13c63e96284a2421e807129b71..1f8f94c97a1881fb78188250bacfb05f896fd9ae 100644 --- a/ejercicio3.ipynb +++ b/ejercicio3.ipynb @@ -32,9 +32,19 @@ "Busque una forma de mostrar todas las instituciones (sin repetición)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "En la siguiente celda creamos el diccionario `compas` con la informacion que recolectamos.\n", + "\n", + "Debe haber una forma de poder cargar esta informacion desde un archivo `.txt`, pero aun no la reviso." + ] + }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 88, "metadata": {}, "outputs": [], "source": [ @@ -72,12 +82,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Algunos ejemplos de como de imprime la informacion de las personas" + "### Algunos ejemplos de como se imprime la informacion de las personas" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 89, "metadata": {}, "outputs": [ { @@ -93,7 +103,7 @@ " 'hobbie': 'gimnasio'}" ] }, - "execution_count": 18, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } @@ -104,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 90, "metadata": {}, "outputs": [ { @@ -120,7 +130,7 @@ " 'hobbie': 'correr, natacion, leer'}" ] }, - "execution_count": 19, + "execution_count": 90, "metadata": {}, "output_type": "execute_result" } @@ -134,12 +144,28 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Falta explicacion" + "---\n", + "### Solucion a la parte 2\n", + "En la siguiente celda creamos una funcion que llamamos `info_por_paises`, la cual recibe tres argumentos. El primero es el diccionario compas que creamos anteriormente. El segundo es una variable de tipo _string_ donde escribimos el pais de origen de las personas. El tercer y ultimo argumento es una variable de tipo _bool_ cuyo valor por defecto es `False`; si el ususario ingresa `True`, entre la informacion que imprime la funcion, estará el usuario de mattermost.\n", + "\n", + "Lo primero que hace esta función es, hacer una copia del diccionario x usando el metodo `.copy()`.A esta copia la llame `copia_compas`.\n", + "\n", + "Esto lo hice porque _creo_ que asi evito posibles problemas.\n", + "\n", + "La siguiente linea ejecuta el metodo `.items` del diccionario `copia_compas`. Esto crea una lista cuyos elementos son las tuplas `(llave,valor)`. Con esta lista es con la que trabaja la funcion.\n", + "(_Basicamente, converti el diccionario compas en una lista_). A esta lista la llame `keys_and_values`.\n", + "\n", + "Es importante entender que en las tuplas de la lista `keys_and_values`, el primer elemento es un _string_, y que el segundo elemento es un diccionario de Python.\n", + "\n", + "Para añadir el usuario de mmattermost, comprobamos si la variable _bool_ z es `True`. En caso afirmativo, hacemos un loop por la lista `keys_and_values`, añadiendo a cada uno de los diccionarios (`values`) una nueva llave llamada `usuario mattermost`, cuyo valor será la correspondiente llave (`key`).\n", + "\n", + "Para imprimir la informacion de las personas segun su pais de origen. Hacemos un ciclo for que \"recorre\" cada una de las tuplas en la lista `keys_and_values`. \n", + "En cada iteración se comprueba si el valor de la llave `\"pais\"` del diccionario coincide con el pais que introdujo el usuario. En caso afirmativo, se imprime \"apropiadamente\" el contenido del diccionario.\n" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 91, "metadata": {}, "outputs": [], "source": [ @@ -151,7 +177,7 @@ " se imprime, aparezca ademas de todo, el usuario de Mattermost\n", " \n", " \n", - " Retorna la informacion de las personas originarias del pais y\n", + " Retorna la informacion de las personas originarias del pais ingresado en la variable y.\n", " \"\"\"\n", " # Hago una copia del diccionario compas\n", " copia_compas=x.copy()\n", @@ -162,18 +188,19 @@ " # Esta parte añade la key=\"usuario mattermost\"\n", " # a los diccionarios que contienen la informacion \n", " # de los compas.\n", - " if z:\n", - " for r in keys_and_values:\n", - " copia_compas[r[0]][\"usuario mattermost\"]=r[0]\n", + " if z: \n", + " for a,b in keys_and_values:\n", + " b[\"usuario mattermost\"]=a\n", + " \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", - " for h in keys_and_values:\n", - " if y==h[1][\"pais\"]:\n", + " for _,balores in keys_and_values:\n", + " if y==balores[\"pais\"]:\n", " print(\"----------------------------------------------------\")\n", - " for llave,valor in h[1].items():\n", + " for llave,valor in balores.items():\n", " print(llave,\":\",valor)\n", " \n", " return \"\"" @@ -190,7 +217,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 92, "metadata": {}, "outputs": [ { @@ -256,7 +283,7 @@ } ], "source": [ - "print(info_por_paises(compas,\"Venezuela\")) " + "print(info_por_paises(compas,\"Venezuela\")) " ] }, { @@ -269,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 93, "metadata": {}, "outputs": [ { @@ -306,7 +333,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 94, "metadata": {}, "outputs": [], "source": [ @@ -325,7 +352,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 95, "metadata": {}, "outputs": [ { @@ -342,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 96, "metadata": {}, "outputs": [], "source": [ @@ -367,7 +394,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 97, "metadata": {}, "outputs": [ { @@ -401,6 +428,47 @@ "\n", "+ Imprimir bonito el contenido de un diccionario: https://thispointer.com/python-4-ways-to-print-items-of-a-dictionary-line-by-line/" ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Esto sale si el argumento es True\n" + ] + }, + { + "data": { + "text/plain": [ + "''" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def f_prueba(ss=False):\n", + " if ss:\n", + " print(\"Esto sale si el argumento es True\")\n", + " else:\n", + " print(\"Esto sale si el argumento es False\")\n", + " return \"\"\n", + "\n", + "f_prueba(True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {