• 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)
Primero almacenamos la lista de compas
compas={'arturos':{'Nombres':'Arturo',
'Apellidos': 'Sanchez',
'Edad':34,
'País_Origen':'Venezuela',
'Ciudad_Residencia':'Ginebra-SUI',
'Especialidad_Científica':'Física',
'Instituto':'LAPP-Laboratoire d´Annecy de Physique des Particules',
'Hobbies':'Montar la bicicleta'},
'pinzonc':{'Nombres':'Carlos Andres',
'Apellidos':'Pinzón Osorio',
'Edad':30,
'País_Origen':'Colombia',
'Ciudad_Residencia':'Bogotá D.C.-COL',
'Especialidad_Científica':'Física de altas energías',
'Instituto':'Universidad Nacional Mayor de San Marcos',
'Hobbies':'Música'},
'barriosc':{'Nombres':'Claudia Verowska',
'Apellidos':'Barrios Arvelaez',
'Edad':26,
'País_Origen':'Venezuela',
'Ciudad_Residencia':'Caracas-VEN',
'Especialidad_Científica':'Astrofísica',
'Instituto':'Universidad Central de Venezuela',
'Hobbies':'Montañismo'},
'francoe':{'Nombres':'Erwin Renzo',
'Apellidos':'Franco Dias',
'Edad':25,
'País_Origen':'Perú',
'Ciudad_Residencia':'Lima-PER',
'Especialidad_Científica':'Fisica',
'Instituto':'Universidad Nacional Mayor de San Marcos',
'Hobbies':'Música'},
'bermudezj':{'Nombres':'Jesús David',
'Apellidos':'Bermudez Sanchez',
'Edad':25,
'País_Origen':'Colombia',
'Ciudad_Residencia':'Bogotá-Col',
'Especialidad_Científica':'Física',
'Instituto':'Universidad Nacional de Colombia',
'Hobbies':'Senderismo'},
'caviedesl':{'Nombres':'Laura Juliana',
'Apellidos':'Caviedes Betancourt',
'Edad':23,
'País_Origen':'Colombia',
'Ciudad_Residencia':'Bogotá-COL',
'Especialidad_Científica':'Física de Partículas',
'Instituto':'Universidad Nacional de Colombia',
'Hobbies':'Bailar'},
'vivasm':{'Nombres':'Mariana',
'Apellidos':'Vivas',
'Edad':23,
'País_Origen':'Venezuela',
'Ciudad_Residencia':'Caracas-VEN',
'Especialidad_Científica':'Física',
'Instituto':'Universidad Central de Venezuela',
'Hobbies':'Ballet'},
'bullan':{'Nombres':'Miguel Angel',
'Apellidos':'Bulla Rivas',
'Edad':25,
'País_Origen':'Colombia',
'Ciudad_Residencia':'Bogotá-COL',
'Especialidad_Científica':'Física',
'Instituto':'Universidad Nacional de Colombia',
'Hobbies':'Videojuegos'},
'bucurul':{'Nombres':'Neidy Lorena',
'Apellidos':'Bucurú Rodriguez',
'Edad':21,
'País_Origen':'Colombia',
'Ciudad_Residencia':'Bogotá D.C.-COL',
'Especialidad_Científica': 'Física de Partículas',
'Instituto':'Universidad Nacional de Colombia' ,
'Hobbies':'Bordar'},
'bompartr':{'Nombres':'Richert Jesús Manuel',
'Apellidos':'Bompart Redondo',
'Edad':26,
'País_Origen':'Venezuela',
'Ciudad_Recidencia':'Caracas-VEN',
'Especialidad_Científica':'Instrumentación',
'Instituto':'Universidad Central de Venezuela',
'Hobbies':['Fotografía', 'Coleccion de modelos maquinaria','Domotica']}
}
Se escribe una función que reciba las 2 cosas que se solicitan, se itera sobre las llaves el diccionario y posteriormente se verifica que el país de origen sea el deseado en caso de serlo se procede a imprimir toda la información utilizando la característica format de la función print.
def informacion(compas,pais):
universidades=[]
for key in list(compas.keys()):
if compas[key]['País_Origen']==pais:
print('Nombres: {0[Nombres]:<15} Apellidos: {0[Apellidos]:<20} Edad: {0[Edad]:<5} País de origen: {0[País_Origen]:<15}'.format(compas[key]))
print('Ciudad de residencia: {0[Ciudad_Residencia]:<20} Especialidad Científica: {0[Especialidad_Científica]:<20}'.format(compas[key]))
print('Instituto : {0[Instituto]:<40} Hobbies: {0[Hobbies]:<15}\n'.format(compas[key]))
universidades+=[compas[key]['Instituto']]
informacion(compas,'Colombia')
Nombres: Carlos Andres Apellidos: Pinzón Osorio Edad: 30 País de origen: Colombia Ciudad de residencia: Bogotá D.C.-COL Especialidad Científica: Física de altas energías Instituto : Universidad Nacional Mayor de San Marcos Hobbies: Música Nombres: Jesús David Apellidos: Bermudez Sanchez Edad: 25 País de origen: Colombia Ciudad de residencia: Bogotá-Col Especialidad Científica: Física Instituto : Universidad Nacional de Colombia Hobbies: Senderismo Nombres: Laura Juliana Apellidos: Caviedes Betancourt Edad: 23 País de origen: Colombia Ciudad de residencia: Bogotá-COL Especialidad Científica: Física de Partículas Instituto : Universidad Nacional de Colombia Hobbies: Bailar Nombres: Miguel Angel Apellidos: Bulla Rivas Edad: 25 País de origen: Colombia Ciudad de residencia: Bogotá-COL Especialidad Científica: Física Instituto : Universidad Nacional de Colombia Hobbies: Videojuegos Nombres: Neidy Lorena Apellidos: Bucurú Rodriguez Edad: 21 País de origen: Colombia Ciudad de residencia: Bogotá D.C.-COL Especialidad Científica: Física de Partículas Instituto : Universidad Nacional de Colombia Hobbies: Bordar
Se calcula la edad promedio sumando todas las edades y diviendolo sobre el largo del diccionario, se itera sobre las personas de la misma forma que en la anterior función.
def edad_promedio(compas):
age=0
for key in list(compas.keys()):
age+=compas[key]['Edad']
age=age/len(list(compas.keys()))
print(age)
edad_promedio(compas)
25.8
Se extrae la lista de universidades iterando como se ha venido realizando y replicando el procedimiento para eliminar duplicados del punto uno se imprimen las universidades una sola vez.
def universidad(compas):
universidades=[]
for key in list(compas.keys()):
universidades+=[compas[key]['Instituto']]
universidades=sorted(universidades)
universidades=list(dict.fromkeys(universidades))
print(universidades)
universidad(compas)
['LAPP-Laboratoire d´Annecy de Physique des Particules', 'Universidad Central de Venezuela', 'Universidad Nacional Mayor de San Marcos', 'Universidad Nacional de Colombia']