Skip to content
Snippets Groups Projects
Commit e5f0c803 authored by Wilson Castañeda Ayay's avatar Wilson Castañeda Ayay
Browse files

ejercicio 02

parent a522fd97
No related branches found
No related tags found
No related merge requests found
%% 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.
def pascalCelda(fil,col): def pascalCelda(fil,col):
#la primera columna siempre es 1
if (col==1): return 1 if (col==1): return 1
#Los términos donde fila=columna son siempre 1
if (fil==col): return 1 if (fil==col): return 1
#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.
return upIzq+upDer return upIzq+upDer
```
%% Cell type:code id: tags:
``` python
n=input("ingrese un numero:") n=input("ingrese un numero:")
for f in range(1,int(n)): for f in range(1,int(n)):
#para cada columna
for c in range(1,f+1): for c in range(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 ,:")
#obtengo la lista de elementos
lista=nn.split(sep=",")
salida=[]
for p in range(len(lista)):
lpascal=[]
for f in range(1,int(lista[p])):
for c in range(1,f+1):
lpascal.append(pascalCelda(f,c))
salida.append(lpascal)
print(salida)
```
%% Output
ingrese varios numeros separados por ,:5,4,7
[[1, 1, 1, 1, 2, 1, 1, 3, 3, 1], [1, 1, 1, 1, 2, 1], [1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4, 1, 1, 5, 10, 10, 5, 1]]
%% Cell type:code id: tags:
``` python
```
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment