From be98cf922cffa2e48fb1d9264ba477204dc1598d Mon Sep 17 00:00:00 2001 From: JorgeEMalambo <jorge_malambo@yahoo.com> Date: Sun, 7 Feb 2021 16:40:52 -0500 Subject: [PATCH] listo ejercicio triangulo pascal --- ejercicio2.ipynb | 83 ++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 48 deletions(-) diff --git a/ejercicio2.ipynb b/ejercicio2.ipynb index 2c793f1..ae6747b 100644 --- a/ejercicio2.ipynb +++ b/ejercicio2.ipynb @@ -29,7 +29,7 @@ { "source": [ "## 2 Triángulo de Pascal\n", - "- Escriba una rutina en python que reciba como entrada un número entero,n, e imprima losnúmeros en lan-ésimafila del triángulo de Pascal. El programa debe verificar si el númerones entero, o arrojar un mensaje informando que ha habido un error del usuario en casocontrario.\n", + "- Escriba una rutina en python que reciba como entrada un número entero,n, e imprima losnúmeros en lan-ésimafila del triángulo de Pascal. El programa debe verificar si el númerones entero, o arrojar un mensaje informando que ha habido un error del usuario en caso contrario.\n", "\n", "- Modifique la rutina anterior para que reciba un número variable de argumentos: n1, n2, n3,...y retorne una lista cuyo primer elemento es una lista conteniendo los números en la fila n1del triángulo de Pascal, el segundo elemento una lista con los números en la fila n2, y asÃsucesivamente.\n" ], @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -83,23 +83,23 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "def linePascal(n):\n", " if type(n) is not int:\n", " print (f'el valor enviado \\'{n}\\', no es un entero')\n", - " return []\n", + " return [] # retornar un lista vacia dado que la operacion no se puede relizar\n", " elif n<0:\n", " print (f'el valor enviado \\'{n}\\', no es un entero positivo')\n", - " return []\n", + " return [] \n", " return [comb(n,x) for x in range(n+1)]" ] }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -117,81 +117,68 @@ ] }, "metadata": {}, - "execution_count": 47 + "execution_count": 10 } ], "source": [ "linePascal(-12)" ] }, + { + "source": [ + "ahora vamos a incluir en la rutina que nuestro codigo sirva para diferentes consultas de los valores binomiales del triangulo de pascal." + ], + "cell_type": "markdown", + "metadata": {} + }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ - "def pascal(orden, matriz=None):\n", - " if matriz is None: matriz = [[1]]\n", - " if orden == 1:\n", - " return matriz\n", - " prev_row = matriz[-1]\n", - " new_row = [1] + [sum(i) for i in zip(prev_row, prev_row[1:])] + [1]\n", - " return triangle(orden - 1, matriz + [new_row])\n" + "def linesPascal(*lineas):\n", + " resultado=list()\n", + " for request in lineas:\n", + " resultado.append(linePascal(request))\n", + " if resultado[-1]==[]:\n", + " print('fin del proceso')\n", + " return resultado\n", + " return resultado" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 16, "metadata": {}, "outputs": [ { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[[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", - " [1, 6, 15, 20, 15, 6, 1]]" - ] - }, - "metadata": {}, - "execution_count": 7 + "output_type": "stream", + "name": "stdout", + "text": [ + "[[1, 2, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1]]\n" + ] } ], "source": [ - "triangle(7)" + "print(linesPascal(2,4,5))" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 17, "metadata": {}, "outputs": [ { "output_type": "stream", + "name": "stdout", "text": [ - "\u001b[0;31mInit signature:\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m/\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mDocstring:\u001b[0m \n", - "zip(*iterables) --> A zip object yielding tuples until an input is exhausted.\n", - "\n", - " >>> list(zip('abcdefg', range(3), range(4)))\n", - " [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)]\n", - "\n", - "The zip object yields n-length tuples, where n is the number of iterables\n", - "passed as positional arguments to zip(). The i-th element in every tuple\n", - "comes from the i-th iterable argument to zip(). This continues until the\n", - "shortest argument is exhausted.\n", - "\u001b[0;31mType:\u001b[0m type\n", - "\u001b[0;31mSubclasses:\u001b[0m \n" - ], - "name": "stdout" + "el valor enviado 'a', no es un entero\nfin del proceso\n[[1, 6, 15, 20, 15, 6, 1], []]\n" + ] } ], "source": [ - "zip?\n" + "print(linesPascal(6,'a',4,5))" ] }, { -- GitLab