Mi nombre es Jesus David Bermudez Sanchez, soy estudiante de la Maestria en Fisica de la Universidad Nacional de Colombia, Sede Bogotá


El problema a resolver se puede dividir en dos partes.

La primera parte la podemos llamar: Triángulo de Pascal

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.


La funcion corazon_pascal(n) es una funcion que usa recursión para retornar la fila n del triangulo de Pascal.

El "algoritmo" para llevar a cabo esta tarea se puede resumir en los siguientes pasos:

La función triangulo_pascal(n) recibe una variable de tipo string y comprueba que sea de caracter numerico usando el metodo .isdecimal(). Se escogio este metodo pues retorna True cuando los caracteres de n "representan" un numero entero; y retorna False cuando los caracteres "representan" un numero decimal o un numero complejo.

Si la parte anterior de la funcion comprueba que n "representa" un entero, este se convierte a una variable de tipo entero usando la funcion int de Python. Se invoca la función corazon_pascal y se devuelve el resultado de esta.

En caso contrario, se imprime en pantalla un mensaje que le indica al usuario que el numero que ingresó NO es de tipo entero.

La linea final:

return ""

se coloco para evitar que se imprima None en pantalla cuando se llama a esta función.


La segunda parte del ejercicio lo llamé Triangulo de Pascal modificado, y consiste en...

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.


Para trabajar este problema, empezamos solicitando al usuario una secuencia de numeros separados por comas; para ello usamos la función input(). Esta secuencia queda guardada en una variable de tipo string que llamamos varios_numeros.

Usando el metodo varios_numeros.split(","), Python divide el contenido de la variable varios_numeros donde encuentra una coma. Cada una de estas "palabras" las guarda en una lista. En nuestro caso llamamos a esta lista lista_de_numeros_string.

Finalmente, se crea una lista llamada filas_del_tri_pascal cuyos elementos serán las filas del triangulo de Pascal que el usuario solicitó. Para ello usamos list comprehension llamando a la función triangulo_pascal(n) para cada elemento de la lista lista_de_numeros_string.

Es importante mencionar que la función triangulo_pascal(n) recibe como argumento una variable de tipo string.

Usando un ciclo for imprimimos el contenido de la lista filas_del_tri_pascal de manera comprensible.


Bibliografia utilizada:

A continuacion hice una pequeña prueba.

Quise ver como se comportan las filas del triangulo de Pascal si consideraramos cada una de sus filas como un numero.

Es decir, como se vería la grafica de una función $f(n)$ que cumple

$$ f(1)=1\\ f(2)=11\\ f(3)=121\\ f(4)=1331\\ f(5)=14641\\ f(6)=15101051\\ .\\ .\\ . $$