"Escriba una rutina en python que reciba como entrada un número entero, n, e imprima los números en la n-ésima fila 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. • 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 n1 del triángulo de Pascal, el segundo elemento una lista con los números en la fila n2, y así sucesivamente."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"#se define una funcion para calcular cada término.\n",
"def pascalCelda(fil,col):\n",
" #la primera columna siempre es 1\n",
" if (col==1): return 1\n",
" #Los términos donde fila=columna son siempre 1\n",
" if (fil==col): return 1\n",
" #termino inmediatamente anterior de la celda izquierda\n",
" upIzq = pascalCelda(fil-1,col-1)\n",
" #termino inmediatamente anterior de la celda derecha\n",
" upDer = pascalCelda(fil-1,col)\n",
" #el valor del término es la suma de los términos anteriores.\n",
"nn=input(\"ingrese varios numeros separados por ,:\")\n",
"#obtengo la lista de elementos\n",
"lista=nn.split(sep=\",\")\n",
"salida=[]\n",
"for p in range(len(lista)):\n",
" lpascal=[]\n",
" for f in range(1,int(lista[p])):\n",
" for c in range(1,f+1):\n",
" lpascal.append(pascalCelda(f,c))\n",
" salida.append(lpascal)\n",
"print(salida)"
]
]
},
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": null,
"execution_count": null,
...
...
%% Cell type:markdown id: tags:
# 2 Ejercicio No. 2 - Triángulo de Pascal
%% Cell type:markdown id: tags:
Escriba una rutina en python que reciba como entrada un número entero, n, e imprima los números en la n-ésima fila 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. • 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 n1 del triángulo de Pascal, el segundo elemento una lista con los números en la fila n2, y así sucesivamente.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
#se define una funcion para calcular cada término.
defpascalCelda(fil,col):
defpascalCelda(fil,col):
#la primera columna siempre es 1
if (col==1):return1
if (col==1):return1
#Los términos donde fila=columna son siempre 1
if (fil==col):return1
if (fil==col):return1
#termino inmediatamente anterior de la celda izquierda
upIzq=pascalCelda(fil-1,col-1)
upIzq=pascalCelda(fil-1,col-1)
#termino inmediatamente anterior de la celda derecha
upDer=pascalCelda(fil-1,col)
upDer=pascalCelda(fil-1,col)
#el valor del término es la suma de los términos anteriores.
returnupIzq+upDer
returnupIzq+upDer
```
%% Cell type:code id: tags:
``` python
n=input("ingrese un numero:")
n=input("ingrese un numero:")
forfinrange(1,int(n)):
forfinrange(1,int(n)):
#para cada columna
forcinrange(1,f+1):
forcinrange(1,f+1):
print(pascalCelda(f,c),end="",sep="")
print(pascalCelda(f,c),end="",sep="")
#para separar cada fila
print("")
print("")
```
```
%% Output
%% Output
ingrese un numero:8
ingrese un numero:10
1
1
1 1
1 1
1 2 1
1 2 1
1 3 3 1
1 3 3 1
1 4 6 4 1
1 4 6 4 1
1 5 10 10 5 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
%% Cell type:code id: tags:
``` python
nn=input("ingrese varios numeros separados por ,:")