Skip to content
Snippets Groups Projects
Commit ef84fa88 authored by Carla Elena Gomez Alvarado's avatar Carla Elena Gomez Alvarado
Browse files

Ejercicio 2 final

parent 7b7c28ff
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
Nombre: Carla Gomez
Estudiante Lic. Física
Universidad Simón Bolívar
Caracas, Venezuela
**Ejercicio 2: Triángulo de Pascal**
La solución se plantea en 2 funciones:
*Primer inciso: def un_Pascal que consiste en imprimir la fila de pascal correspondiente al número entero ingresado por el usuario.
*Segundo inciso: def Pascal que imprime todas las filas de los todos los numeros recibidos separados por espacios.
Antes que cualquiera de las dos funciones anteriores se ejecute debe verificarse si el número ingresado por el usuario es un número entero, mediante *try*
%% Cell type:code id: tags:
``` python
# Imprime las lineas del triangulo de pascal
def Pascal(argv):
#Va a repetir la secuencia para cada argumento ingresado
for arg in argv:
#Inicio del triangulo del Pascal. Todas las filas empiezan por 1
L = 1
# Va a seguir trabajando hasta que llegue a la linea "arg"
while True:
C = 1
# No calcula nada si la linea no es la "arg"
if L == arg:
# Calcula la linea
for i in range(1, L + 1):
print(C, end = " ")
#Se aplica el bionomio de newton para calcular los coeficientes de la linea solicitada
C = int(C * (L - i) / i)
#Rompe la repeticion infinita
break
L = L + 1
print("");
```
%% Cell type:code id: tags:
``` python
def un_Pascal(arg):
#Inicio del triangulo
L = 1
while True:
C = 1
# No calcula nada si la linea no es la "arg"
if L == arg:
# Calcula la linea
for i in range(1, L + 1):
print(C, end = " ")
C = int(C * (L - i) / i)
#Rompe la repeticion infinita
break
L = L + 1
print("");
```
%% Cell type:code id: tags:
``` python
# Try intenta hacer algo, si hay un error va al except
try:
#Recibe el dato del usuario
input_row = input("Ingrese un numero entero: ")
#Intenta pasar la entrada del usuario a entero
row = int(input_row)
#Parte 1: Imprimir solo la linea del usuario
un_Pascal(row)
except:
#Avisa que algo salio mal en la conversion
print("Ese no es un entero")
print('-----------------')
```
%% Output
Ingrese un numero entero: 5
1 4 6 4 1
-----------------
%% Cell type:markdown id: tags:
Se usa print('---------------') para faciltar la visualizacion de los resultados.
%% Cell type:code id: tags:
``` python
try:
#Recibe el dato del usuario
print("Ingrese una secuencia de numero entero (separados por espacios): ")
input_rows = input()
print('-----------------') # formato para separar los valores ingresados de las filas de pascal generadas
# Divide la entrada del usuario por espacios, los transforma en un array
input_rows = input_rows.split()
rows = []
for num in input_rows:
# Convierte cada elemento en un entero
rows.append(int(num))
#Parte 2: Imprime tantas lineas del triangulo como valores ingresados
Pascal(rows)
except:
print("Hay elementos que no son enteros")
```
%% Output
Ingrese una secuencia de numero entero (separados por espacios):
1 2 3
-----------------
1
1 1
1 2 1
%% Cell type:code id: tags:
``` python
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment