Skip to content
Snippets Groups Projects
Commit 7ea09f25 authored by Jesus David Bermudez Sanchez's avatar Jesus David Bermudez Sanchez
Browse files

añadimos los notebooks donde se estan resolviendo los ejercicios planteados

parent 405d62cc
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
*Mi nombre es Jesus David Bermudez Sanchez, soy estudiante de la Maestria en Fisica de la Universidad Nacional de Colombia, Sede Bogotá*
---
%% Cell type:markdown id: tags:
# El problema a resolver es el siguiente
## 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.
Ejemplo de entrada: naranja-avión-melodía-tupla-avión
Salida esperada: avión-melodía-naranja-tupla
---
%% Cell type:markdown id: tags:
Iniciamos pidiendo al usuario una lista de palabras conectadas con guiones. (Esperamos que el usuario **NO** introduzca espacios en blanco).
Para ello usamos el comando `input()`, el cual permite pedir al usuario información a traves de la pantalla; esta informacion se guarda en una variable de tipo "string".
En nuestro caso llamamos a esta variable `palabras`. A esta variable le agregamos un guion en el extremo derecho. El porque de esta accion se expondra mas adelante.
%% Cell type:code id: tags:
``` python
palabras=input(
"Ingrese una lista de palabras separadas por guiones sin dejar epacios; \
se retornaran las palabras ordenadas alfabeticamente y sin repeticiones")
# Le agrego un guion al final del string original(para que funcione el
# proceso que me invente)
palabras=palabras+"-"
```
%% Output
Ingrese una lista de palabras separadas por guiones sin dejar epacios; se retornaran las palabras ordenadas alfabeticamente y sin repeticiones hola-como-estas
%% Cell type:code id: tags:
``` python
# Creo la lista vacia que va a contener las palabras individuales
lista_de_palabras=[]
```
%% Cell type:markdown id: tags:
## Separacion de las palabras
En la celda siguiente se ejecuta el proceso que permite extraer cada una de las palabras que el usuario ingresó, las cuales estan guardadas como en **UN** solo string, que llamamos `palabras`
%% Cell type:code id: tags:
``` python
#--------------------------------------------------------------
# Aqui ensaye como quitarle el ultimo caracter a un string
#prueba="cacaroto"
#print(prueba[:-1])
#---------------------------------------------------------------
contador=""
for x in palabras:
contador=contador+x
if x=="-":
lista_de_palabras.append(contador[:-1])
#Sin el [:-1] se añade la palabra con el guion delante
contador=""
# lista_de_palabras es una lista que contiene las palabras del string original.
print("Lista que contiene las palabras ingresadas sin guiones: ",lista_de_palabras)
```
%% Cell type:code id: tags:
``` python
set_palabras_sin_repetir=set(lista_de_palabras)
print("set de palabras ingresadas sin repetir ",set_palabras_sin_repetir)
list_palabras_sin_repetir=list(set_palabras_sin_repetir)
print("lista de palabras ingresadas sin repetir ",list_palabras_sin_repetir)
# Ordenamos las palabras alfabeticamente
list_palabras_sin_repetir.sort()
print("lista de palabras ingresadas sin repetir, ordenadas alfabeticamente ",list_palabras_sin_repetir)
# Hacemos el string final uniendo los elementos de list_palabras_sin_repetir
semi_final_string=""
for a in list_palabras_sin_repetir:
semi_final_string=semi_final_string+"-"+a
# Me toca hacerlo asi porque el semi_final_string tiene un "-" en la posicion 0.
final_string=semi_final_string[1:]
print(" ")
print(" ")
print("A continuación se muestra un string de las palabras ingresadas,")
print("sin repeticion, y ordenadas alfabeticamente, separadas por guiones")
# Me toca imprimirlo usando [1:] porque el final_string tiene un "-" en la posicion 0.
print(final_string)
# naranja-avión-melodía-tupla-avión
```
%% Cell type:markdown id: tags:
Bibliografia: https://www.geeksforgeeks.org/python-convert-set-into-a-list/
%% Cell type:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
## 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:code id: tags:
``` python
def funcion(n):
lista=[]
if n==1:
return [1]
elif n==2:
return [1,1]
else:
for i in range(n-2):
lista=
def triangulo_pascal(n):
if type(n)is not int:
print("El numero ingresado no es un numero entero")
else:
triangulo_pascal(3.)
```
%% Output
File "<ipython-input-2-5ac345945ba7>", line 10
lista=
^
SyntaxError: invalid syntax
%% Cell type:markdown id: tags:
## Triangulo de Pascal modificado
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:code id: tags:
``` python
```
%% Cell type:markdown id: tags:
## Amigos congueros
Entre en contacto con 10 estudiantes del curso de datos y 2 profesores o personal de soporte de LaConga, uno del
curso de datos y otro de afuera, y consulte su nombre completo, su nombre de usuario en mattermost, edad, pais de
origen, ciudad donde residen, su especialidad científica, nombre del instituto en que estudian/laboran, y un hobbie o
afición.
Cree un diccionario llamado "compas", donde la llave sea el nombre de usuario en mattermost, y si depliego el valor
almacenado, por ejemplo en compas['juan-pineda"], lo que obtengo es a la vez otro diccionario, con las llaves
"nombre", "apellido", "país", "residencia", "edad", "institución", "hobbie".
Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las informaciones completas de
todas las personas de ese país, tabuladas en una forma fácil de entender
%% Cell type:code id: tags:
``` python
compas={
"juan-pineda":{"nombres":"Juan Carlos","apellidos":"Basto Pineda","pais":"Colombia","residencia":"Santander","edad":"30","institucion":"Universidad Industrial de Santander","hobbie":"divulgacion cientifica"},
"camacho.reina":{"nombres":"Reina","apellidos":"Camacho Toro","pais":"Venezuela","residencia":"Francia","edad":"36","institucion":"CNRS","hobbie":"avistamiento de aves"},
"jalil":{"nombres":"Jalil","apellidos":"Varela Manjarres","pais":"Colombia","residencia":"Valle del Cauca","edad":"25","institucion":"Universidad del Valle","hobbie":"viajar"},
"grisalesj":{"nombres":"Jennifer","apellidos":"Grisales","pais":"Colombia","residencia":"Cucuta","edad":"27","institucion":"Universidad Industrial de Santander","hobbie":"caminata y deporte"},
"ramosd":{"nombres":"David","apellidos":"Ramos","pais":"Colombia","residencia":"Santander","edad":"26","institucion":"Universidad Industrial de Santander","hobbie":"escuchar y tocar musica"},
"vargass":{"nombres":"Sasiri","apellidos":"Vargas","pais":"Colombia","residencia":"Valle del Cauca","edad":"24","institucion":"Universidad del Valle","hobbie":"baile"},
"navasa":{"nombres":"Alfonso","apellidos":"Navas","pais":"Colombia","residencia":"Bogota","edad":"27","institucion":"Universidad Nacional de Colombia","hobbie":"ciclismo recreacional"},
"aldo":{"nombres":"Aldo","apellidos":"Arriola","pais":"Peru","residencia":"Lima","edad":"26","institucion":"Universidad Nacional de Ingenieria","hobbie":"caminatas"},
"omarasto":{"nombres":"Omar","apellidos":"Asto","pais":"Peru","residencia":"Lima","edad":"27","institucion":"Universidad Nacional de Ingenieria","hobbie":"lectura de novelas y poesia"}
}
```
%% Cell type:code id: tags:
``` python
def info_por_paises(x,y):
# Hago una copia del diccionario compas
copia_compas=x.copy()
# Saco la lista de (key,values)
keys_and_values=copia_compas.items()
# Esta parte añade la key="usuario mattermost"
# a los diccionarios que contienen la informacion
# de los compas.
for r in keys_and_values:
copia_compas[r[0]]["usuario mattermost"]=r[0]
lista_paises=[]
# Hago una lista de los paises de origen de los compas
# Esta lista puede contener elementos repetidos
for f in keys_and_values:
lista_paises.append(copia_compas[f[0]]["pais"])
set_paises=set(lista_paises)
# Miro en cada "subdiccionario" el pais de origen,
# si este coincide con el pais que se pidio, se imprime el subdiccionario
# de manera bonita.
# La inspiracion para imprimir bonito la saque de
# https://thispointer.com/python-4-ways-to-print-items-of-a-dictionary-line-by-line/
for h in keys_and_values:
if y==h[1]["pais"]:
print("----------------------------------------------------")
for llave,valor in h[1].items():
print(llave,":",valor)
return ""
print(info_por_paises(compas,"Venezuela"))
```
%% Output
----------------------------------------------------
nombres : Reina
apellidos : Camacho Toro
pais : Venezuela
residencia : Francia
edad : 36
institucion : CNRS
hobbie : avistamiento de aves
usuario mattermost : camacho.reina
%% Cell type:code id: tags:
``` python
compas["juan-pineda"]
```
%% Output
{'nombres': 'Juan Carlos',
'apellidos': 'Basto Pineda',
'pais': 'Colombia',
'residencia': 'Santander',
'edad': '30',
'institucion': 'Universidad Industrial de Santander',
'hobbie': 'divulgacion cientifica'}
%% Cell type:code id: tags:
``` python
compas["camacho.reina"]
```
%% Output
{'nombres': 'Reina',
'apellidos': 'Camacho Toro',
'pais': 'Venezuela',
'residencia': 'Francia',
'edad': '36',
'institucion': 'CNRS',
'hobbie': 'avistamiento de aves'}
%% Cell type:code id: tags:
``` python
compas["jalil"]
```
%% Output
{'nombres': 'Jalil',
'apellidos': 'Varela Manjarres',
'pais': 'Colombia',
'residencia': 'Valle',
'edad': '25',
'institucion': 'Universidad del Valle',
'hobbie': 'viajar'}
%% Cell type:code id: tags:
``` python
compas["grisalesj"]
```
%% Output
{'nombres': 'Jennifer',
'apellidos': 'Grisales',
'pais': 'Colombia',
'residencia': 'Cucuta',
'edad': '27',
'institucion': 'Universidad Industrial de Santander',
'hobbie': 'caminata y deporte'}
%% Cell type:code id: tags:
``` python
compas["ramosd"]
```
%% Output
{'nombres': 'David',
'apellidos': 'Ramos',
'pais': 'Colombia',
'residencia': 'Santander',
'edad': '26',
'institucion': 'Universidad Industrial de Santander',
'hobbie': 'escuchar y tocar musica'}
%% 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