From f6a82ad2a77d0798e9295a263fb8d2bd958d56a0 Mon Sep 17 00:00:00 2001 From: Jesus David Bermudez Sanchez <jdbermudezs@unal.edu.co> Date: Fri, 5 Feb 2021 15:43:55 -0500 Subject: [PATCH] me di cuenta que uno de los condicionales de la funcion corazon_pascal no era necesario --- ejercicio2.ipynb | 77 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 58 insertions(+), 19 deletions(-) diff --git a/ejercicio2.ipynb b/ejercicio2.ipynb index ec32410..b879272 100644 --- a/ejercicio2.ipynb +++ b/ejercicio2.ipynb @@ -13,51 +13,90 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## El problema a resolver es el siguiente\n", + "## El problema a resolver se puede dividir en dos partes.\n", "\n", - "## Triángulo de Pascal\n", + "\n", + "\n", + "## La primera parte la podemos llamar: Triángulo de Pascal\n", "\n", "Escriba una rutina en python que reciba como entrada un número entero, n, e imprima los números en la n-ésima fila\n", - "del triángulo de Pascal. El programa debe verificar si el número n es entero, o arrojar un mensaje informando que ha habido un error del usuario en caso contrario." + "del triángulo de Pascal. El programa debe verificar si el número n es entero, o arrojar un mensaje informando que ha habido un error del usuario en caso contrario.\n", + "\n", + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "La funcion ``corazon_pascal`` es una funcion que usa recursión para retornar la fila ``n`` del triangulo de Pascal.\n", + "\n" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "#def corazon_pascal(n):\n", + "# \"\"\"\n", + "# Esta función recibe un argumento de tipo entero\n", + "# \n", + "# Retorna una lista con los numeros de la fila n del triangulo de Pascal\n", + "# \"\"\"\n", + "# lista=[]\n", + "# if n==1:\n", + "# lista=lista+[1]\n", + "# elif n==2:\n", + "# lista=lista+[1,1]\n", + "# else:\n", + "# lista_antes=corazon_pascal(n-1)\n", + "# lista=[1]+[lista_antes[i]+lista_antes[i+1] for i,_ in enumerate(lista_antes) if i<len(lista_antes)-1]+[1]\n", + "# return lista \n", + "def corazon_pascal(n):\n", + " \"\"\"\n", + " Esta función recibe un argumento de tipo entero\n", + " \n", + " Retorna una lista con los numeros de la fila n del triangulo de Pascal\n", + " \"\"\"\n", + " lista=[]\n", + " if n==1:\n", + " lista=lista+[1]\n", + " #elif n==2:\n", + " #lista=lista+[1,1]\n", + " else:\n", + " lista_antes=corazon_pascal(n-1)\n", + " lista=[1]+[lista_antes[i]+lista_antes[i+1] for i,_ in enumerate(lista_antes) if i<len(lista_antes)-1]+[1]\n", + " return lista \n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]" + "[1, 1]" ] }, - "execution_count": 13, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "def funcion(n):\n", - " lista=[]\n", - " if n==1:\n", - " lista=lista+[1]\n", - " elif n==2:\n", - " lista=lista+[1,1]\n", - " else:\n", - " lista_antes=funcion(n-1)\n", - " lista=[1]+[lista_antes[i]+lista_antes[i+1] for i,_ in enumerate(lista_antes) if i<len(lista_antes)-1]+[1]\n", - " return lista \n", - "\n", "def triangulo_pascal(n):\n", " if type(n)is not int:\n", " print(\"El numero ingresado no es un numero entero\")\n", " else:\n", - " return funcion(n)\n", + " return corazon_pascal(n)\n", " \n", " \n", " \n", - "triangulo_pascal(10)" + "triangulo_pascal(2)" ] }, { -- GitLab