Los valores para el triángulo de Pascal pueden ser encontrados mediante la siguiente fórmula:
$\left(\begin{array}{l} n \\ r \end{array}\right)=\frac{n !}{r !(n-r) !} $
Donde n representa el número de la fila, r el número de la columna.
# triangulo de pascal
from math import factorial
def triangulo_pascal(n):
'''Devuelve los valores de la n-esima fila del triangulos de pascal, y ademas valida si el numero ingresado es entero'''
if type(n) == int: # valida si el numero es entero
print('Los valores del triangulo de pascal para la fila {} son:'.format(n))
for j in range(n+1):
print(factorial(n)//(factorial(j)*factorial(n-j)), end=" ") # formula para valores del triangulo de pascal
print()
else:
print('Error, el numero no es entero')
n = 'hola1'
triangulo_pascal(n)
Error, el numero no es entero
n = 5.5
triangulo_pascal(n)
Error, el numero no es entero
n = 3
triangulo_pascal(n)
Los valores del triangulo de pascal para la fila 3 son: 1 3 3 1
def triangulo_pascal_lista(n):
'''Devuelve los valores de la n-esima fila del triangulos de pascal en una lista,
ademas valida si el numero ingresado es entero'''
lista = []
if type(n) == int: # valida si el numero es entero
for j in range(n+1):
x = factorial(n)//(factorial(j)*factorial(n-j)) # formula para valores del triangulo de pascal
lista.append(x)
#print(lista)
else:
print('Error, el numero no es entero')
return lista
def entrada(*numeros):
'''Recibe numeros y retorna los valores del triangulo de pascal para las filas correspondientes
a los valores ingresados '''
lista_lista = []
for numero in numeros:
y = triangulo_pascal_lista(numero)
lista_lista.append(y)
print(lista_lista)
entrada(4,5,6,7,8,9,10)
[[1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 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], [1, 9, 36, 84, 126, 126, 84, 36, 9, 1], [1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]]
# para exportar el notebook a html
import os
os.system('jupyter nbconvert --to html ejercicio2.ipynb')