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. -Busque una forma de calcular, a partir del diccionario, el promedio de edad de todas las personas en él, y una forma de mostrar todas las instituciones (sin repetición)
Inicialmente cree un diccionario anidado denominado compas, al interior de este ubique los usuarios de los compa;eros de tal manera que esa fue la llave para ver la informacion de cada uno. Usando get le pido al programa que me busque la informacion especifica de solo uno de los compa;eros ubicados en el diccionario compas y en caso de que el nombre de usuario no exista en el diccionario entonce me arroje un mensaje que dice 'resultado no encontrado'.
compas={'pinzonc':{'Nombres':'Carlos Andres','Apellidos':'Pinzon Osorio','Pais':'Colombia','Residencia':'Bogota','edad':30,'Institucion':'UAN','Hobbie':'leer'},
'pereaj':{'Nombres':'Jorge Luis','Apellidos':'Perea Perez','Pais':'Colombia','Residencia':'Bucaramanga','edad':26,'Institucion':'UIS','Hobbie':'futbol'},
'jalil':{'Nombres':'Jalil','Apellidos':'Varela Manjarres','Pais':'Colombia','Residencia':'Cali','edad':21,'Institucion':'UNIVALLE','Hobbie':'atletismo'},
'malamboj':{'Nombres':'Jorge Enrique','Apellidos':'Malambo','Pais':'Colombia','Residencia':'Bogota','edad':28,'Institucion':'UNAL','Hobbie':'senderismo'},
'ortegaj':{'Nombres':'Jennifer','Apellidos':'Ortega Aguilar','Pais':'Ecuador','Residencia':'Quito','edad':25,'Institucion':'EPN','Hobbie':'dibujar'},
'fernandezn':{'Nombres':'Nicolas','Apellidos':'Fernandez Cinquepalmi','Pais':'Argentina','Residencia':'Lima','edad':30,'Institucion':'UNMSM','Hobbie':'escribir'},
'amazod':{'Nombres':'Fabiola','Apellidos':'Amazo','Pais':'Colombia','Residencia':'Bogota','edad':31,'Institucion':'UNAL','Hobbie':'leer'},
'alemang':{'Nombres':'Guillermo Enrique','Apellidos':'Aleman Lopez','Pais':'Peru','Residencia':'Lima','edad':32,'Institucion':'UNMSM','Hobbie':'jugar futbol'},
'ocariz':{'Nombres':'Jose','Apellidos':'Ocariz','Pais':'Venezuela-Francia','Residencia':'Paris','edad':45,'Institucion':'Universit de Paris','Hobbie':'leer'},
'mamaniy':{'Nombres':'Yhony','Apellidos':'Mamani Arce','Pais':'Peru','Residencia':'Puno','edad':26,'Institucion':'UNAP','Hobbie':'pintar'},
'lnunez':{'Nombres':'Luis','Apellidos':'Nu;ez','Pais':'Venezuela-Colombia','Residencia':'Bucaramanga','edad':52,'Institucion':'UAN','Hobbie':'leer'},
'juan-pineda':{'Nombres':'Juan Carlos','Apellidos':'Basto Pineda','Pais':'Colombia','Residencia':'Bucaramanga','edad':35,'Institucion':'UIS','Hobbie':''}}
Buscar=input("Nombre de usuario en Mattermost:")
print("Resultado:", compas.get(Buscar,"resultado no encontrado"))
Nombre de usuario en Mattermost:pinzonc Resultado: {'Nombres': 'Carlos Andres', 'Apellidos': 'Pinzon Osorio', 'Pais': 'Colombia', 'Residencia': 'Bogota', 'edad': 30, 'Institucion': 'UAN', 'Hobbie': 'leer'}
Para este caso cree una funcion que recibiera en la variable 'x' el nombre de el diccionario general y en la variable 'y' la llave de el elemento anidado, ene ste caso el pais. Luego de eso los guarde en dos variables con el fin de que una sirva para recorrer todo el diccionario y la otra sirva como elemento comparatorio, de esta forma mi ciclo for recorre el diccionario y solo me imprime las personas que son originarias de ese pais.
compas={'pinzonc':{'Nombres':'Carlos Andres','Apellidos':'Pinzon Osorio','Pais':'Colombia','Residencia':'Bogota','edad':30,'Institucion':'UAN','Hobbie':'leer'},
'pereaj':{'Nombres':'Jorge Luis','Apellidos':'Perea Perez','Pais':'Colombia','Residencia':'Bucaramanga','edad':26,'Institucion':'UIS','Hobbie':'futbol'},
'jalil':{'Nombres':'Jalil','Apellidos':'Varela Manjarres','Pais':'Colombia','Residencia':'Cali','edad':21,'Institucion':'UNIVALLE','Hobbie':'atletismo'},
'malamboj':{'Nombres':'Jorge Enrique','Apellidos':'Malambo','Pais':'Colombia','Residencia':'Bogota','edad':28,'Institucion':'UNAL','Hobbie':'senderismo'},
'ortegaj':{'Nombres':'Jennifer','Apellidos':'Ortega Aguilar','Pais':'Ecuador','Residencia':'Quito','edad':25,'Institucion':'EPN','Hobbie':'dibujar'},
'fernandezn':{'Nombres':'Nicolas','Apellidos':'Fernandez Cinquepalmi','Pais':'Argentina','Residencia':'Lima','edad':30,'Institucion':'UNMSM','Hobbie':'escribir'},
'amazod':{'Nombres':'Fabiola','Apellidos':'Amazo','Pais':'Colombia','Residencia':'Bogota','edad':31,'Institucion':'UNAL','Hobbie':'leer'},
'alemang':{'Nombres':'Guillermo Enrique','Apellidos':'Aleman Lopez','Pais':'Peru','Residencia':'Lima','edad':32,'Institucion':'UNMSM','Hobbie':'jugar futbol'},
'ocariz':{'Nombres':'Jose','Apellidos':'Ocariz','Pais':'Venezuela-Francia','Residencia':'Paris','edad':45,'Institucion':'Universit de Paris','Hobbie':'leer'},
'mamaniy':{'Nombres':'Yhony','Apellidos':'Mamani Arce','Pais':'Peru','Residencia':'Puno','edad':26,'Institucion':'UNAP','Hobbie':'pintar'},
'lnunez':{'Nombres':'Luis','Apellidos':'Nu;ez','Pais':'Venezuela-Colombia','Residencia':'Bucaramanga','edad':52,'Institucion':'UAN','Hobbie':'leer'},
'juan-pineda':{'Nombres':'Juan Carlos','Apellidos':'Basto Pineda','Pais':'Colombia','Residencia':'Bucaramanga','edad':35,'Institucion':'UIS','Hobbie':''}}
def resultado(x,y):
amigos=x
lugar=y
for nombre,datos in amigos.items():
if datos['Pais'] == lugar:
print(nombre,datos)
p=resultado(compas,'Colombia')
pinzonc {'Nombres': 'Carlos Andres', 'Apellidos': 'Pinzon Osorio', 'Pais': 'Colombia', 'Residencia': 'Bogota', 'edad': 30, 'Institucion': 'UAN', 'Hobbie': 'leer'} pereaj {'Nombres': 'Jorge Luis', 'Apellidos': 'Perea Perez', 'Pais': 'Colombia', 'Residencia': 'Bucaramanga', 'edad': 26, 'Institucion': 'UIS', 'Hobbie': 'futbol'} jalil {'Nombres': 'Jalil', 'Apellidos': 'Varela Manjarres', 'Pais': 'Colombia', 'Residencia': 'Cali', 'edad': 29, 'Institucion': 'UNIVALLE', 'Hobbie': 'viajar'} malamboj {'Nombres': 'Jorge Enrique', 'Apellidos': 'Malambo', 'Pais': 'Colombia', 'Residencia': 'Bogota', 'edad': 38, 'Institucion': 'UNAL', 'Hobbie': 'escuchar musica'} amazod {'Nombres': 'Fabiola', 'Apellidos': 'Amazo', 'Pais': 'Colombia', 'Residencia': 'Bogota', 'edad': 31, 'Institucion': 'UNAL', 'Hobbie': 'leer'} juan-pineda {'Nombres': 'Juan Carlos', 'Apellidos': 'Basto Pineda', 'Pais': 'Colombia', 'Residencia': 'Bucaramanga', 'edad': 35, 'Institucion': 'UIS', 'Hobbie': ''}
Para esta parte del ejercicio lo que realice fue en primer lugar extraer solo la informacion de la edad ubicada en el diccionario y posteriormente almacenarla en una lista llamada 'numeros' , finalmente use las funciones sum y len para obtener el promedio de edad.
compas={'pinzonc':{'Nombres':'Carlos Andres','Apellidos':'Pinzon Osorio','Pais':'Colombia','Residencia':'Bogota','edad':30,'Institucion':'UAN','Hobbie':'leer'},
'pereaj':{'Nombres':'Jorge Luis','Apellidos':'Perea Perez','Pais':'Colombia','Residencia':'Bucaramanga','edad':26,'Institucion':'UIS','Hobbie':'futbol'},
'jalil':{'Nombres':'Jalil','Apellidos':'Varela Manjarres','Pais':'Colombia','Residencia':'Cali','edad':21,'Institucion':'UNIVALLE','Hobbie':'atletismo'},
'malamboj':{'Nombres':'Jorge Enrique','Apellidos':'Malambo','Pais':'Colombia','Residencia':'Bogota','edad':28,'Institucion':'UNAL','Hobbie':'senderismo'},
'ortegaj':{'Nombres':'Jennifer','Apellidos':'Ortega Aguilar','Pais':'Ecuador','Residencia':'Quito','edad':25,'Institucion':'EPN','Hobbie':'dibujar'},
'fernandezn':{'Nombres':'Nicolas','Apellidos':'Fernandez Cinquepalmi','Pais':'Argentina','Residencia':'Lima','edad':30,'Institucion':'UNMSM','Hobbie':'escribir'},
'amazod':{'Nombres':'Fabiola','Apellidos':'Amazo','Pais':'Colombia','Residencia':'Bogota','edad':31,'Institucion':'UNAL','Hobbie':'leer'},
'alemang':{'Nombres':'Guillermo Enrique','Apellidos':'Aleman Lopez','Pais':'Peru','Residencia':'Lima','edad':32,'Institucion':'UNMSM','Hobbie':'jugar futbol'},
'ocariz':{'Nombres':'Jose','Apellidos':'Ocariz','Pais':'Venezuela-Francia','Residencia':'Paris','edad':45,'Institucion':'Universit de Paris','Hobbie':'leer'},
'mamaniy':{'Nombres':'Yhony','Apellidos':'Mamani Arce','Pais':'Peru','Residencia':'Puno','edad':26,'Institucion':'UNAP','Hobbie':'pintar'},
'lnunez':{'Nombres':'Luis','Apellidos':'Nu;ez','Pais':'Venezuela-Colombia','Residencia':'Bucaramanga','edad':52,'Institucion':'UAN','Hobbie':'leer'},
'juan-pineda':{'Nombres':'Juan Carlos','Apellidos':'Basto Pineda','Pais':'Colombia','Residencia':'Bucaramanga','edad':35,'Institucion':'UIS','Hobbie':''}}
numeros=[]
for nombre,datos in compas.items():
numeros.append(datos['edad'])
promedio=sum(numeros)/len(numeros)
print("El promedio de edad es:",promedio)
El promedio de edad es: 33.166666666666664
Finalmente para esta parte del ejercicio lo que hice fue sacar todas las instituciones en una lista que llame 'universidad' y luego a traves de una compresion de lista le indique que los elementos dentro de la lista solo se podian imprimir una vez sin repeticion mediante el if.
import collections
compas={'pinzonc':{'Nombres':'Carlos Andres','Apellidos':'Pinzon Osorio','Pais':'Colombia','Residencia':'Bogota','edad':30,'Institucion':'UAN','Hobbie':'leer'},
'pereaj':{'Nombres':'Jorge Luis','Apellidos':'Perea Perez','Pais':'Colombia','Residencia':'Bucaramanga','edad':26,'Institucion':'UIS','Hobbie':'futbol'},
'jalil':{'Nombres':'Jalil','Apellidos':'Varela Manjarres','Pais':'Colombia','Residencia':'Cali','edad':21,'Institucion':'UNIVALLE','Hobbie':'atletismo'},
'malamboj':{'Nombres':'Jorge Enrique','Apellidos':'Malambo','Pais':'Colombia','Residencia':'Bogota','edad':28,'Institucion':'UNAL','Hobbie':'senderismo'},
'ortegaj':{'Nombres':'Jennifer','Apellidos':'Ortega Aguilar','Pais':'Ecuador','Residencia':'Quito','edad':25,'Institucion':'EPN','Hobbie':'dibujar'},
'fernandezn':{'Nombres':'Nicolas','Apellidos':'Fernandez Cinquepalmi','Pais':'Argentina','Residencia':'Lima','edad':30,'Institucion':'UNMSM','Hobbie':'escribir'},
'amazod':{'Nombres':'Fabiola','Apellidos':'Amazo','Pais':'Colombia','Residencia':'Bogota','edad':31,'Institucion':'UNAL','Hobbie':'leer'},
'alemang':{'Nombres':'Guillermo Enrique','Apellidos':'Aleman Lopez','Pais':'Peru','Residencia':'Lima','edad':32,'Institucion':'UNMSM','Hobbie':'jugar futbol'},
'ocariz':{'Nombres':'Jose','Apellidos':'Ocariz','Pais':'Venezuela-Francia','Residencia':'Paris','edad':45,'Institucion':'Universit de Paris','Hobbie':'leer'},
'mamaniy':{'Nombres':'Yhony','Apellidos':'Mamani Arce','Pais':'Peru','Residencia':'Puno','edad':26,'Institucion':'UNAP','Hobbie':'pintar'},
'lnunez':{'Nombres':'Luis','Apellidos':'Nu;ez','Pais':'Venezuela-Colombia','Residencia':'Bucaramanga','edad':52,'Institucion':'UAN','Hobbie':'leer'},
'juan-pineda':{'Nombres':'Juan Carlos','Apellidos':'Basto Pineda','Pais':'Colombia','Residencia':'Bucaramanga','edad':35,'Institucion':'UIS','Hobbie':''}}
universidad=[]
for nombre,datos in compas.items():
universidad.append(datos['Institucion'])
solo= [x for n, x in enumerate(universidad) if x not in universidad[:n]]
print(solo)
['UAN', 'UIS', 'UNIVALLE', 'UNAL', 'EPN', 'UNMSM', 'Universit de Paris', 'UNAP']