Al poner cada fila del triangulo de pascal en una matriz se obtine que el termino 0,0 de la matriz corresponde a la primera fila del triangulo de pascal, el termino 1,1 tambien tendria el número 1 y asi sucesicamente para los i=j de la matriz, seguidamente todos los terminos de la primera columna tienen termino igual a 1, el esquema se muestra a continuación
Primero : para todo i y j = o --> elemento de la matriz igual a 1
segundo : para i == j --> elementos de la matriz igual a 1
tercero : para j < i --> elemento de la matriz es igual a [i-1] [j] + [i-1][j-1], por ejemplo el termino [3][1]=[2][1]+[2][0]=2+1=0 correspondiendo al termino del triangulo de pascal
def triangulo_pascal(num): # num es el digito ingresado por el usuario
a= [[] for i in range(num)] #creamos una matriz m, con columnas vacias
for i in range(num):
for j in range(i+1):
if(j<i):
if (j==0): # Segundo
a[i].append(1)
else:
a[i].append(a[i-1][j]+a[i-1][j-1]) # TERCERO
elif (j==i):
a[i].append(1) # primero
print(a[num-1]) # hacemos que imprima la penultima columna de la matriz
Evaluamos : para num = 5
triangulo_pascal(5)
[1, 4, 6, 4, 1]
segun el problema nos piden que ingresemos un digito y que evaluemos si es entero o no y dar un mensaje al usuario si este no lo es.
valor = True
while valor==True :
try:
num = int(input('ingrese un numero entero positivo mayor que cero porfavor:\t'))
#evalua si el digito ingresado es entero, si lo es rompe el while
if (type(num)==int and num>0):
valor = False
except:
#mensaje mostrado por no ingresar un entero
print('por favor,intente otra vez con un numero entero')
ingrese un numero entero positivo mayor que cero porfavor: 8
triangulo_pascal(num) # num es igual a 8
[1, 7, 21, 35, 35, 21, 7, 1]
valor = True
while valor==True :
try:
num = input('ingrese una lista de enteros seguidos por una coma:\t')
new_list = num.split(',')
#pasasamos los valores str de la lista a int
new_num=[int(x) for x in new_list]
for i in range(len(new_num)):
#investigamos si sus componentes son enteros
if (type(new_num[i])== int):
valor= False
else:
#en caso de que uno no sea entero rompe el for y pasamos al except
valor = True
break
except:
#mensaje mostrado por no ingresar un enter
print('por favor,intente otra vez con una lista de enteros y seguido por comas')
ingrese una lista de enteros seguidos por una coma: 1,5,6,7,9,2,3
lista = [triangulo_pascal(i) for i in new_num] # creamos una lista de comprencion para llamar a triangulo de pascal
[1] [1, 4, 6, 4, 1] [1, 5, 10, 10, 5, 1] [1, 6, 15, 20, 15, 6, 1] [1, 8, 28, 56, 70, 56, 28, 8, 1] [1, 1] [1, 2, 1]