Commit d51d4d21 authored by Jose Miguel Ladino Mendez's avatar Jose Miguel Ladino Mendez
Browse files

archivos desde jupyterhub

parent 405d62cc
.ipynb_checkpoints/
This diff is collapsed.
%% Cell type:markdown id: tags:
# José Miguel Ladino Méndez - Maestría en Ciencias Astronomía - UNAL
# LACoNGA Physics - Ciencia de Datos - Tareas_Clase_2
%% Cell type:markdown id: tags:
## Ejercicio No. 1 - Lista de palabras
* Escriba un programa en python que acepte una lista de palabras separadas por guiones, e imprima de vuelta las mismas palabras, sin repetición y nuevamente separadas por guiones, después de ordenarlas alfabéticamente.
%% Cell type:markdown id: tags:
### Solución:
%% Cell type:code id: tags:
``` python
lista = input().split('-') #línea para pedir de entrada las palabras separadas por guiones.
```
%% Output
naranja-avión-melodía-tupla-avión
%% Cell type:code id: tags:
``` python
lista.sort() #Ordena la lista alfabéticamente
print(lista)
```
%% Output
['avión', 'avión', 'melodía', 'naranja', 'tupla']
%% Cell type:code id: tags:
``` python
lista = list(dict.fromkeys(lista)) #convierte la lista en diccionario y luego de nuevo a una lista, para eliminar repetidos
print(lista)
```
%% Output
['avión', 'melodía', 'naranja', 'tupla']
%% Cell type:code id: tags:
``` python
print('La salida es :','-'.join(lista)) #imprime la lista separada por guiones
```
%% Output
La salida es : avión-melodía-naranja-tupla
%% Cell type:markdown id: tags:
### Otro ejemplo:
%% Cell type:code id: tags:
``` python
lista2 = input().split('-') #línea para pedir de entrada las palabras separadas por guiones.
lista2.sort() #Ordena la lista alfabéticamente
lista2 = list(dict.fromkeys(lista2)) #convierte la lista en diccionario y luego de nuevo a una lista, para eliminar repetidos
print('La salida es :','-'.join(lista2)) #imprime la lista en orden alfabético y sin repeticiones
```
%% Output
naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión
La salida es : avión-melodía-naranja-tupla
%% Cell type:code id: tags:
``` python
```
This diff is collapsed.
%% Cell type:markdown id: tags:
# José Miguel Ladino Méndez - Maestría en Ciencias Astronomía - UNAL
# LACoNGA Physics - Ciencia de Datos - Tareas_Clase_2
%% Cell type:markdown id: tags:
## Ejercicio No. 2 - 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.
%% Cell type:markdown id: tags:
### Solución:
%% Cell type:code id: tags:
``` python
while True:
try: #Declaración para gestionar excepciones
filas = int(input("Número de fila: ")) #entrada de un número entero
break
except ValueError: # excepción por si la entrada no es un número entero
print("El número que ingresó no es entero, por favor ingrese un número entero.")
```
%% Output
Número de fila: 6
%% Cell type:code id: tags:
``` python
from math import factorial #importando función factorial de la biblioteca math
list=[]
for j in range(filas+1): #ciclo for sobre los elementos de la entrada + 1, debido a la numeración de indices
coeficientes = (factorial(filas)//(factorial(j)*factorial(filas-j))) # formula para los coeficientes,
#definida como una combinatoria = n!/((n-r)!*r!), n es el número de fila y r es la posición en la fila.
list.append(coeficientes) #añade los coeficientes,
#de la fila dada en la entrada y los añade a la lista list
print("Los coeficientes de la fila" , filas, "del triangulo de Pascal son :", list)
```
%% Output
Los coeficientes de la fila 6 del triangulo de Pascal son : [1, 6, 15, 20, 15, 6, 1]
%% Cell type:markdown id: tags:
### segunda parte:
* 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.
%% Cell type:markdown id: tags:
### Solución:
%% Cell type:code id: tags:
``` python
lista = input().split(',') #entrada de str separados por comas
```
%% Output
5,4,3,2,1
%% Cell type:code id: tags:
``` python
from math import factorial #importando función factorial de la biblioteca math
listoflist=[]
for i in range(len(lista)): #ciclo for de 0 hasta el indice final de la lista de entrada
lista[i] = int(lista[i])-1 #cada elemento de lista se vuelve entero y se le resta 1
list2=[]
for j in range(lista[i]+1): #ciclo for de 0 hasta el número de coeficientes de cada fila
coeficientes = (factorial(lista[i])//(factorial(j)*factorial(lista[i]-j))) # formula para los-
#coeficientes definida como una combinatoria = n!/((n-r)!*r!)
list2.append(coeficientes)# añade cada coeficiente a la lista list2 para cada entrada n1
listoflist.append(list2)# añade cada lista list2 de cada n1 a la lista listoflist
print(listoflist)
```
%% Output
[[1, 4, 6, 4, 1], [1, 3, 3, 1], [1, 2, 1], [1, 1], [1]]
%% Cell type:code id: tags:
``` python
```
This diff is collapsed.
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment