" num = int(input('ingrese un numero entero positivo mayor que cero porfavor:\\t'))\n",
" if (type(num)==int and num>0): #evalua si el digito ingresado es entero, si lo es rompe el while\n",
" #evalua si el digito ingresado es entero, si lo es rompe el while\n",
" if (type(num)==int and num>0): \n",
" valor = False\n",
" except:\n",
" print('por favor,intente otra vez con un numero entero') #mensaje mostrado por no ingresar un entero"
" #mensaje mostrado por no ingresar un entero\n",
" print('por favor,intente otra vez con un numero entero') "
]
},
{
...
...
@@ -169,7 +171,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"ingrese una lista de enteros seguidos por una coma:\t1,2,3,4,10\n"
"ingrese una lista de enteros seguidos por una coma:\t1,2,3,4\n"
]
}
],
...
...
@@ -179,15 +181,19 @@
" try:\n",
" num = input('ingrese una lista de enteros seguidos por una coma:\\t')\n",
" new_list = num.split(',')\n",
" new_num=[int(x) for x in new_list] #pasasamos los valores str de la lista a int \n",
" #pasasamos los valores str de la lista a int \n",
" new_num=[int(x) for x in new_list] \n",
" for i in range(len(new_num)):\n",
" if (type(new_num[i])== int): #investigamos si sus componentes son enteros\n",
" #investigamos si sus componentes son enteros\n",
" if (type(new_num[i])== int): \n",
" valor= False\n",
" else:\n",
" valor = True #en caso de que uno no sea entero rompe el for y pasamos al except\n",
" #en caso de que uno no sea entero rompe el for y pasamos al except\n",
" valor = True \n",
" break\n",
" except:\n",
" print('por favor,intente otra vez con una lista de enteros y seguido por comas') #mensaje mostrado por no ingresar un entero"
" #mensaje mostrado por no ingresar un enter\n",
" print('por favor,intente otra vez con una lista de enteros y seguido por comas')o"
]
},
{
...
...
@@ -209,14 +215,20 @@
"[1]\n",
"[1, 1]\n",
"[1, 2, 1]\n",
"[1, 3, 3, 1]\n",
"[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]\n"
"[1, 3, 3, 1]\n"
]
}
],
"source": [
"lista = [triangulo_pascal(i) for i in new_num] # creamos una lista de comprencion para llamar a "
"lista = [triangulo_pascal(i) for i in new_num] # creamos una lista de comprencion para llamar a triangulo de pascal"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
...
...
%% Cell type:markdown id: tags:
# TRIANGULO DE PASCAL
%% Cell type:markdown id: tags:
### Escriba una rutina en python que reciba com entrada un número entero, n, e imprima los números de la n-esima 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.
%% Cell type:markdown id: tags:
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
%% Cell type:markdown id: tags:

%% Cell type:markdown id: tags:
#### analizando en este caso los indices i corresponden a las filas y los indices j a las columnas
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
%% Cell type:markdown id: tags:
### Definimos una funcion con los pasos mencionados anteriormente
%% Cell type:code id: tags:
``` python
deftriangulo_pascal(num):# num es el digito ingresado por el usuario
a=[[]foriinrange(num)]#creamos una matriz m, con columnas vacias
foriinrange(num):
forjinrange(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
```
%% Cell type:markdown id: tags:
Evaluamos : para num = 5
%% Cell type:code id: tags:
``` python
triangulo_pascal(5)
```
%% Output
[1, 4, 6, 4, 1]
%% Cell type:markdown id: tags:
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.
%% Cell type:code id: tags:
``` python
valor=True
whilevalor==True:
try:
num=int(input('ingrese un numero entero positivo mayor que cero porfavor:\t'))
if (type(num)==intandnum>0):#evalua si el digito ingresado es entero, si lo es rompe el while
#evalua si el digito ingresado es entero, si lo es rompe el while
if (type(num)==intandnum>0):
valor=False
except:
print('por favor,intente otra vez con un numero entero')#mensaje mostrado por no ingresar un entero
#mensaje mostrado por no ingresar un entero
print('por favor,intente otra vez con un numero entero')
```
%% Output
ingrese un numero entero positivo mayor que cero porfavor: 6
%% Cell type:markdown id: tags:
### mostramos el triangulo de pascal para el numero ingresado
%% Cell type:code id: tags:
``` python
triangulo_pascal(num)
```
%% Output
[1, 5, 10, 10, 5, 1]
%% Cell type:markdown id: tags:
## 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 n1del triángulo de Pascal, el segundo elemento una lista con los números en la fila n2, y asísucesivamente.
%% Cell type:code id: tags:
``` python
valor=True
whilevalor==True:
try:
num=input('ingrese una lista de enteros seguidos por una coma:\t')
new_list=num.split(',')
new_num=[int(x)forxinnew_list]#pasasamos los valores str de la lista a int
#pasasamos los valores str de la lista a int
new_num=[int(x)forxinnew_list]
foriinrange(len(new_num)):
if (type(new_num[i])==int):#investigamos si sus componentes son enteros
#investigamos si sus componentes son enteros
if (type(new_num[i])==int):
valor=False
else:
valor=True#en caso de que uno no sea entero rompe el for y pasamos al except
#en caso de que uno no sea entero rompe el for y pasamos al except
valor=True
break
except:
print('por favor,intente otra vez con una lista de enteros y seguido por comas')#mensaje mostrado por no ingresar un entero
#mensaje mostrado por no ingresar un enter
print('por favor,intente otra vez con una lista de enteros y seguido por comas')o
```
%% Output
ingrese una lista de enteros seguidos por una coma: 1,2,3,4,10
ingrese una lista de enteros seguidos por una coma: 1,2,3,4
%% Cell type:markdown id: tags:
### imprimimos las filas solicitadas del triangulo de pascal
%% Cell type:code id: tags:
``` python
lista=[triangulo_pascal(i)foriinnew_num]# creamos una lista de comprencion para llamar a
lista=[triangulo_pascal(i)foriinnew_num]# creamos una lista de comprencion para llamar a triangulo de pascal