#Librerias que se van a usar.
import numpy as np
import math
Funcion encargada de recibir un numero n y k devolver el número de combinaciones sin repetición de k elementos elegidos entre los n se nota habitualmente, estoscorresponden al elemento k-esimo de la fila n-esima del triangulo de Pascal.
def combinatoria(n,k):
return int(math.factorial(n)/(math.factorial(k)*math.factorial(n-k)))
# Ejemplo del funcionamiento.
combinatoria(5,0)
1
Funcion encargada de recibir un numero n y retornar una lista con los elementos de la fila n-esima del triangulo de Pascal
def Pascal(n):
#Se define a x como una lista
x=[]
#Se utiliza un for, para ir llenando los elementos de la lista con los elementos de la fila de pascal.
for k in range(0,n+1):
#Se agrea a la lista el elemento k-esimo de la fila n-esima del triangulo de pascal.
x.append(combinatoria(n,k))
#Se retorna una lista con los elementos de la fila n-esima del triagulo de Pascal.
return x
# Ejemplo del funcionamiento.
Pascal(5)
[1, 5, 10, 10, 5, 1]
Funcion encargada de verificar si el número ingresado es entero e imprimiendo los números de la n-ésima fila del triángulo de Pascal, o arrojaranjo un mensaje informando que ha habido un error del usuario en caso contrario.
def pasc(n):
#Determina si el numero ingresado es de tipo entero.
if type(n)==type(3):
#Imprime los números de la n-ésima fila del triángulo de Pascal en una lista.
print(Pascal(n))
#Si el elemento ingresado no es de tipo entero, arroja un mensaje de error.
else :
# Imprime el mensaje de error.
print("Su numero ingresado no es entero")
#Ejemeplo1
pasc(5.)
Su numero ingresado no es entero
#Ejemplo2
pasc(5)
[1, 5, 10, 10, 5, 1]
Funcion encargada de recibir un número variable de argumentos: n1, n2, n3,… , almacenados en una lista y retornar 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. verificando que cada elemento n-esimo sea entero, de lo contrario arrojando un mensaje de error.
def pasc2(*args):
#Se incializa una lista que almacenara los numeros de pascal.
X=[]
#Se realiza un loop para llenar los elemento de la lista.
for i in range(len(args[0])):
#Se determina si cada argumento i-esimo de la lista es de tipo entero.
if type(args[0][i])==type(3):
#Almacena en la lista otra lista con los correspondiente numeros de pascal de la fila i-esima.
X.append(Pascal(args[0][i]))
# print(X)
else :
#Si no es de tipo entero, entonces arroja un mensaje de error.
print(f"el numero en la posicion {i+1} no es entero")
#La funcion termina.
return 0
print(X)
#Ejemplo1
pasc2([1,2,3])
[[1, 1], [1, 2, 1], [1, 3, 3, 1]]
#Ejemplo2
pasc2([4,0,5])
[[1, 4, 6, 4, 1], [1], [1, 5, 10, 10, 5, 1]]
#Ejemplo3
pasc2([8,1,6])
[[1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 1], [1, 6, 15, 20, 15, 6, 1]]