diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..b635bb5fabaa0c4ad0131e9e34e16440d37f5883 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +./ipynb_chekpoints diff --git a/ejercicio1.ipynb b/ejercicio1.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..c22fbb9d10f608c7b054e53cdbad8036916ded08 --- /dev/null +++ b/ejercicio1.ipynb @@ -0,0 +1,113 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Alumno: Aldo Arriola" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [], + "source": [ + "# input string\n", + "input_string = \" eee-aldo-x100pre-menos-hoy\"" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [], + "source": [ + "# String to list\n", + "new_list = input_string.split(\"-\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [], + "source": [ + "# unique elements (set)\n", + "new_list = list(set(new_list))" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [], + "source": [ + "# Sort alphabetically\n", + "sorted_list = sorted(new_list)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [], + "source": [ + "# put dashes\n", + "final_list = '-'.join(sorted_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " eee-aldo-hoy-menos-x100pre\n" + ] + } + ], + "source": [ + "print(final_list)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/ejercicio2.ipynb b/ejercicio2.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..752e20ebfa1aeb2d70be4d75d2915b7ecd1d2bd9 --- /dev/null +++ b/ejercicio2.ipynb @@ -0,0 +1,235 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Alumno: Aldo Arriola" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Solución\n", + "Para dar solución al problema, empezamos por definir una función factorial dado que los elemntos del traiánglo de Pascal se calculan a partir de combinarorias del tipo \n", + "$A_{ij}=\\frac{i!}{(i-j)!j!}$\n", + "\n", + "donde $A_{ij}$ es el elemento de la i-ésima fila y la j-ésima columna\n" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "def factorial(n):\n", + " '''\n", + " factorial of an integer\n", + " n: integer\n", + " '''\n", + " if type(n) != int:\n", + " raise ValueError(\"n must be an integer\")\n", + " if n == 0:\n", + " return 1\n", + " if n == 1:\n", + " return n*1\n", + " else:\n", + " return n*factorial(n-1)\n", + "\n", + "def combinatoria(i, j):\n", + " '''\n", + " Calculates the combinatory of i and j\n", + " i, j must be integers\n", + " \n", + " '''\n", + " if type(n) != int:\n", + " raise ValueError(\"n must be an integer\")\n", + " return factorial(i)/(factorial(i-j)*factorial(j))" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "def nth_row(n):\n", + " '''\n", + " list the elements in row n.\n", + " n: int, index of row in the Pascal triangle\n", + " '''\n", + " if type(n) != int:\n", + " raise ValueError(\"n must be an integer\")\n", + " row = []\n", + " for j in range(n+1):\n", + " row.append(int(combinatoria(n,j)))\n", + "\n", + " return row\n", + " #print(f\"fila {n}:\",*row)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### input n" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "n = 5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "print $n^{th}$ row" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fila 5: 1 5 10 10 5 1\n" + ] + } + ], + "source": [ + "row = nth_row(n)\n", + "print(f\"fila {n}:\",*row)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.2 Multiples números de fila." + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "def multiple_rows(*args):\n", + " rows = []\n", + " for k in args:\n", + " rows.append(nth_row(k))\n", + " return rows" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1], [1, 2, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1]]\n" + ] + } + ], + "source": [ + "rows = multiple_rows(0, 2,5,6)\n", + "print(rows)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Extra: Triángulo de Pascal complento para n" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "1 1\n", + "1 2 1\n", + "1 3 3 1\n", + "1 4 6 4 1\n", + "1 5 10 10 5 1\n" + ] + } + ], + "source": [ + "n = 5\n", + "for i in range(0,n+1):\n", + " for j in range(0,i+1):\n", + " row.append(int(combinatoria(i,j)))\n", + " print(*row)\n", + " row = []" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "math.factorial(0)" + ] + }, + { + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/ejercicio3.ipynb b/ejercicio3.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..c0a94aae02036e99e4be4b8535afdbb3d66ffcca --- /dev/null +++ b/ejercicio3.ipynb @@ -0,0 +1,450 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "compas = {\n", + " \"ortegaj\":{\n", + " \"Nombre\": \"Jennifer Lorena Ortega Aguilar\",\n", + " \"Edad\": 25,\n", + " \"PaÃs\": \"Ecuador\",\n", + " \"Ciudad\": \"Quito\",\n", + " \"Especialidad\": \"Análisis de imagenes medicas\",\n", + " \"Institución\": \"Escuela Politecnica Nacional\",\n", + " \"Hobby\": \"Dibujar\"\n", + " },\n", + " \"nicole\": {\n", + " \"Nombre\":\"Angie Nicole Hernandez Duran\",\n", + " \"Edad\": 23,\n", + " \"PaÃs\":\"Colombia\",\n", + " \"Ciudad\": \"Bucaramanga\",\n", + " \"Especialidad\": \"Analisis de imagenes medicas\",\n", + " \"Institución\": \"Universidad Industrial de Santander\",\n", + " \"Hobby\": \"Dibujar, pintar, ejercitar\"\n", + " },\n", + " \"martinezj\": {\n", + " \"Nombre\": \"Jocabed Martinez\",\n", + " \"Edad\": 22,\n", + " \"PaÃs\": \"Venezuela\",\n", + " \"Ciudad\": \"Caracas\",\n", + " \"Especialidad\": \"AstrofÃsica\",\n", + " \"Institución\": \"Universidad Central de Venezuela\",\n", + " \"Hobby\": \"Musica\"\n", + " },\n", + " \"carrilloj\": {\n", + " \"Nombre\": \"Juan Guillermo Carrillo Reyes\",\n", + " \"Edad\": 25,\n", + " \"PaÃs\": \"Colombia\",\n", + " \"Ciudad\": \"Bogotá\",\n", + " \"Especialidad\": \"Astronomia\",\n", + " \"Institución\": \"Universidad Nacional de Colombia\",\n", + " \"Hobby\": \"Basquet, Videojuegos\"\n", + " },\n", + " \"andreatugores\": {\n", + " \"Nombre\": \"Andrea Tugores Hernandez\",\n", + " \"Edad\": 24,\n", + " \"PaÃs\": \"Venezuela\",\n", + " \"Ciudad\": \"Caracas\",\n", + " \"Especialidad\": \"FÃsica Medica\",\n", + " \"Institución\": \"Universidad Central de Venezuela\",\n", + " \"Hobby\": \"tennis\"\n", + " },\n", + " \"leonl\": {\n", + " \"Nombre\": \"Luis Alberto Leon Andonayre\",\n", + " \"Edad\": 22,\n", + " \"PaÃs\": \"Perú\",\n", + " \"Ciudad\": \"Callao\",\n", + " \"Especialidad\": \"Gravitación\",\n", + " \"Institución\": \"Universidad Nacional Mayorr de San Marcos\",\n", + " \"Hobby\": \"Musica, guitarra\"\n", + " },\n", + " \"vinascor\":{\n", + " \"Nombre\": \"Rafael Vinasco\",\n", + " \"Edad\": 26,\n", + " \"PaÃs\": \"Colombia\",\n", + " \"Ciudad\": \"Bogota\",\n", + " \"Especialidad\": \"Fisica de particulas\",\n", + " \"Institución\": \"Universidad Nacional de Colombia\",\n", + " \"Hobby\": \"Ajedrez, nadar\"\n", + " },\n", + " \"serranoj\":{\n", + " \"Nombre\": \"Jose Martin Serrano Torres\",\n", + " \"PaÃs\": \"Perú\",\n", + " \"Ciudad\": \"Lima\",\n", + " \"Edad\": 27,\n", + " \"Especialidad\": \"ciencia de Materiales\",\n", + " \"Institución\": \"Universidad Nacional de IngenierÃa\",\n", + " \"Hobby\": \"Videojuegos\"\n", + " }\n", + " \n", + " \n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(compas)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Nombre': 'Jose Martin Serrano Torres',\n", + " 'PaÃs': 'Perú',\n", + " 'Ciudad': 'Lima',\n", + " 'Edad': 27,\n", + " 'Especialidad': 'ciencia de Materiales',\n", + " 'Institución': 'Universidad Nacional de IngenierÃa',\n", + " 'Hobby': 'Videojuegos'}" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "compas[\"serranoj\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "#! pip3 install --user pandas" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "def filter_by_key(dic, key):\n", + " compas_df = pd.DataFrame.from_dict(dic, orient=\"index\")\n", + " return compas_df[compas_df[\"PaÃs\"]==key]" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>Nombre</th>\n", + " <th>Edad</th>\n", + " <th>PaÃs</th>\n", + " <th>Ciudad</th>\n", + " <th>Especialidad</th>\n", + " <th>Institución</th>\n", + " <th>Hobby</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>leonl</th>\n", + " <td>Luis Alberto Leon Andonayre</td>\n", + " <td>22</td>\n", + " <td>Perú</td>\n", + " <td>Callao</td>\n", + " <td>Gravitación</td>\n", + " <td>Universidad Nacional Mayorr de San Marcos</td>\n", + " <td>Musica, guitarra</td>\n", + " </tr>\n", + " <tr>\n", + " <th>serranoj</th>\n", + " <td>Jose Martin Serrano Torres</td>\n", + " <td>27</td>\n", + " <td>Perú</td>\n", + " <td>Lima</td>\n", + " <td>ciencia de Materiales</td>\n", + " <td>Universidad Nacional de IngenierÃa</td>\n", + " <td>Videojuegos</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " Nombre Edad PaÃs Ciudad \\\n", + "leonl Luis Alberto Leon Andonayre 22 Perú Callao \n", + "serranoj Jose Martin Serrano Torres 27 Perú Lima \n", + "\n", + " Especialidad Institución \\\n", + "leonl Gravitación Universidad Nacional Mayorr de San Marcos \n", + "serranoj ciencia de Materiales Universidad Nacional de IngenierÃa \n", + "\n", + " Hobby \n", + "leonl Musica, guitarra \n", + "serranoj Videojuegos " + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "filter_by_key(compas, \"Perú\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "compas_df = pd.DataFrame.from_dict(compas, orient=\"index\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>Nombre</th>\n", + " <th>Edad</th>\n", + " <th>PaÃs</th>\n", + " <th>Ciudad</th>\n", + " <th>Especialidad</th>\n", + " <th>Institución</th>\n", + " <th>Hobby</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>ortegaj</th>\n", + " <td>Jennifer Lorena Ortega Aguilar</td>\n", + " <td>25</td>\n", + " <td>Ecuador</td>\n", + " <td>Quito</td>\n", + " <td>Análisis de imagenes medicas</td>\n", + " <td>Escuela Politecnica Nacional</td>\n", + " <td>Dibujar</td>\n", + " </tr>\n", + " <tr>\n", + " <th>nicole</th>\n", + " <td>Angie Nicole Hernandez Duran</td>\n", + " <td>23</td>\n", + " <td>Colombia</td>\n", + " <td>Bucaramanga</td>\n", + " <td>Analisis de imagenes medicas</td>\n", + " <td>Universidad Industrial de Santander</td>\n", + " <td>Dibujar, pintar, ejercitar</td>\n", + " </tr>\n", + " <tr>\n", + " <th>martinezj</th>\n", + " <td>Jocabed Martinez</td>\n", + " <td>22</td>\n", + " <td>Venezuela</td>\n", + " <td>Caracas</td>\n", + " <td>AstrofÃsica</td>\n", + " <td>Universidad Central de Venezuela</td>\n", + " <td>Musica</td>\n", + " </tr>\n", + " <tr>\n", + " <th>carrilloj</th>\n", + " <td>Juan Guillermo Carrillo Reyes</td>\n", + " <td>25</td>\n", + " <td>Colombia</td>\n", + " <td>Bogotá</td>\n", + " <td>Astronomia</td>\n", + " <td>Universidad Nacional de Colombia</td>\n", + " <td>Basquet, Videojuegos</td>\n", + " </tr>\n", + " <tr>\n", + " <th>andreatugores</th>\n", + " <td>Andrea Tugores Hernandez</td>\n", + " <td>24</td>\n", + " <td>Venezuela</td>\n", + " <td>Caracas</td>\n", + " <td>FÃsica Medica</td>\n", + " <td>Universidad Central de Venezuela</td>\n", + " <td>tennis</td>\n", + " </tr>\n", + " <tr>\n", + " <th>leonl</th>\n", + " <td>Luis Alberto Leon Andonayre</td>\n", + " <td>22</td>\n", + " <td>Peru</td>\n", + " <td>Callao</td>\n", + " <td>Gravitación</td>\n", + " <td>Universidad Nacional Mayorr de San Marcos</td>\n", + " <td>Musica, guitarra</td>\n", + " </tr>\n", + " <tr>\n", + " <th>vinascor</th>\n", + " <td>Rafael Vinasco</td>\n", + " <td>26</td>\n", + " <td>Colombia</td>\n", + " <td>Bogota</td>\n", + " <td>Fisica de particulas</td>\n", + " <td>Universidad Nacional de Colombia</td>\n", + " <td>Ajedrez, nadar</td>\n", + " </tr>\n", + " <tr>\n", + " <th>serranoj</th>\n", + " <td>Jose Martin Serrano Torres</td>\n", + " <td>27</td>\n", + " <td>Perú</td>\n", + " <td>Lima</td>\n", + " <td>ciencia de Materiales</td>\n", + " <td>Universidad Nacional de IngenierÃa</td>\n", + " <td>Videojuegos</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " Nombre Edad PaÃs Ciudad \\\n", + "ortegaj Jennifer Lorena Ortega Aguilar 25 Ecuador Quito \n", + "nicole Angie Nicole Hernandez Duran 23 Colombia Bucaramanga \n", + "martinezj Jocabed Martinez 22 Venezuela Caracas \n", + "carrilloj Juan Guillermo Carrillo Reyes 25 Colombia Bogotá \n", + "andreatugores Andrea Tugores Hernandez 24 Venezuela Caracas \n", + "leonl Luis Alberto Leon Andonayre 22 Peru Callao \n", + "vinascor Rafael Vinasco 26 Colombia Bogota \n", + "serranoj Jose Martin Serrano Torres 27 Perú Lima \n", + "\n", + " Especialidad \\\n", + "ortegaj Análisis de imagenes medicas \n", + "nicole Analisis de imagenes medicas \n", + "martinezj AstrofÃsica \n", + "carrilloj Astronomia \n", + "andreatugores FÃsica Medica \n", + "leonl Gravitación \n", + "vinascor Fisica de particulas \n", + "serranoj ciencia de Materiales \n", + "\n", + " Institución \\\n", + "ortegaj Escuela Politecnica Nacional \n", + "nicole Universidad Industrial de Santander \n", + "martinezj Universidad Central de Venezuela \n", + "carrilloj Universidad Nacional de Colombia \n", + "andreatugores Universidad Central de Venezuela \n", + "leonl Universidad Nacional Mayorr de San Marcos \n", + "vinascor Universidad Nacional de Colombia \n", + "serranoj Universidad Nacional de IngenierÃa \n", + "\n", + " Hobby \n", + "ortegaj Dibujar \n", + "nicole Dibujar, pintar, ejercitar \n", + "martinezj Musica \n", + "carrilloj Basquet, Videojuegos \n", + "andreatugores tennis \n", + "leonl Musica, guitarra \n", + "vinascor Ajedrez, nadar \n", + "serranoj Videojuegos " + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "compas_df" + ] + } + ], + "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 +}