Mi nombre es Lorena Bucurú Rodríguez, el problema a resolver es el siguiente:
Para resolver este problema, pensé en usar la cobinatoria para hallar los valores del triangulo.
# Se recibe un numero n para saber los valores
# del triangulo de Pascal en esa fila.
# Las filas se empiezan a contar desde cero.
fila = 8
def Factorial(a):
"""Calculo del factorial de un numero."""
if a == 0 or a == 1:
return 1
else:
a *= Factorial(a - 1)
return a
def Combinatoria(n, p):
"""Calculo de la combinatoria. (n,p)"""
comb = Factorial(n) / (Factorial(p) * Factorial(n - p))
return comb
# Se genera una lista vacía para llenarla con lo valores del triagulo de Pascal.
List = []
# se verifica que "fila" sea entero.
if isinstance(fila, int) == True:
# Se llenan la lista con los datos y se imprime.
for i in range(fila + 1):
List.append(int(Combinatoria(fila, i)))
# Los datos son mostrados en pantalla
print(f"Los numeros de la fila {fila} en el triangulo de Pascal son: ",List)
else:
#Se muestra el mensaje de error.
print("Error, el número no es entero, vuelva a intentar.")
Los numeros de la fila 8 en el triangulo de Pascal son: [1, 8, 28, 56, 70, 56, 28, 8, 1]
Para resolver este problema, pensé en usar la cobinatoria para hallar los valores del triangulo y convertir los datos de entrada en una lista.
# Se recibe una lista con n1, n2, .. para saber los valores
# del triangulo de Pascal en esas filas.
# Las filas se empiezan a contar desde cero.
filas = [5, 3, 8, 4, 2]
def Factorial(a):
"""Calculo del factorial de un numero."""
if a == 0 or a == 1:
return 1
else:
a *= Factorial(a - 1)
return a
def Combinatoria(n, p):
"""Calculo de la combinatoria. (n,p)"""
comb = Factorial(n) / (Factorial(p) * Factorial(n - p))
return comb
# Se genera la lista que contendrá todos los valores
List = []
# Se va corriendo por la lista de entrada para verificar si son enteros todos.
for j in filas:
# Se verifica que todos sean enteros
if isinstance(j, int) == True:
# Creamos una lista que iremos llenando
Lista_j = []
# Se llenan la lista con los datos y se imprime.
for i in range(j + 1):
Lista_j.append(int(Combinatoria(j, i)))
# Se añaden las listas de los valores del triangulo de Pascal a la lista de listas.
List.append(Lista_j)
# Se imprime la lista de listas.
print(f"Los numeros de la filas {filas} en el triangulo de Pascal son: {List}, respectivamente.")
# Generamos una variable que servirá para encontrar la entrada en la que no haya un número entero.
m = 0
# Se va corriendo por la lista de entrada para verificar si alguno es falso.
for j in filas:
# Contador
m += 1
# Verificación
if isinstance(j, int) == False:
#Se muestra el mensaje de error.
print(f"Error, la variable {j} no es entero en la entrada {m} de la lista ingresada, vuelva a intentar.")
Los numeros de la filas [5, 3, 8, 4, 2] en el triangulo de Pascal son: [[1, 5, 10, 10, 5, 1], [1, 3, 3, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 4, 6, 4, 1], [1, 2, 1]], respectivamente.