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