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, país 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 llavies "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).
Creamos un diccionario llamado compas, con la información de varias personas de LaConga. A continuación se muestra el diccionario.
compas = {'martinezj' :
{'nombre' : 'Jocabed' ,
'apellido' : 'Martínez' ,
'país' : 'Venezuela' ,
'residencia' : 'Caracas',
'edad' : 22 ,
'institución' : 'Universidad Central de Venezuela' ,
'hobbie' : 'música'
},
'tugoresa' : {'nombre' : 'Andrea' ,
'apellido' : 'Tugores' ,
'país' : 'Venezuela' ,
'residencia' : 'Caracas',
'edad' : 24 ,
'institución' : 'Universidad Central de Venezuela' ,
'hobbie' : 'tennis'
},
'semprung' : {'nombre' : 'Gerardo' ,
'apellido' : 'Semprúm' ,
'país' : 'Venezuela' ,
'residencia' : 'Caracas',
'edad' : 24 ,
'institución' : 'Universidad Central de Venezuela' ,
'hobbie' : 'artes marciales'
},
'afont' : {'nombre' : 'Anamaría' ,
'apellido' : 'Font' ,
'país' : 'Venezuela' ,
'residencia' : 'Alemania',
'edad' : 61 ,
'institución' : 'Universidad Central de Venezuela' ,
'hobbie' : 'leer'
},
'fernandezn' : {'nombre' : 'Nicolás' ,
'apellido' : 'Fernández' ,
'país' : 'Argentina' ,
'residencia' : 'Perú',
'edad' : 27 ,
'institución' : 'Universidad Nacional Mayor de San Marcos' ,
'hobbie' : 'piano'
},
'juan-pineda' : {'nombre' : 'Juan' ,
'apellido' : 'Pineda' ,
'país' : 'Colombia' ,
'residencia' : 'Bucaramanga',
'edad' : 37 ,
'institución' : 'Universidad Industrial de Santander' ,
'hobbie' : 'dibujo y caminatas en la naturaleza'
},
'cristian.velandia' : {'nombre' : 'Cristian' ,
'apellido' : 'Velandia' ,
'país' : 'Colombia' ,
'residencia' : 'Colombia',
'edad' : 27 ,
'institución' : 'Universidad Nacional de Colombia' ,
'hobbie' : 'anime, videos juegos'
},
'grisalesj' : {'nombre' : 'Jennifer' ,
'apellido' : 'Grisales' ,
'país' : 'Colombia' ,
'residencia' : 'Bucaramanga',
'edad' : 27 ,
'institución' : 'Universidad Industrial de Santander' ,
'hobbie' : 'rugby'
},
'escalantee' : {'nombre' : 'Eduardo' ,
'apellido' : 'Escalante' ,
'país' : 'Venezuela' ,
'residencia' : 'Venezuela',
'edad' : 46 ,
'institución' : 'Universidad Simón Bolívar' ,
'hobbie' : 'música'
},
'omarasto' : {'nombre' : 'Omar' ,
'apellido' : 'Asto' ,
'país' : 'Perú' ,
'residencia' : 'Lima',
'edad' : 25 ,
'institución' : 'Universidad Nacional de Ingeniería' ,
'hobbie' : 'leer'
},
'mamaniy' : {'nombre' : 'Yhony' ,
'apellido' : 'Mamani Arce' ,
'país' : 'Perú' ,
'residencia' : 'Perú',
'edad' : 26 ,
'institución' : 'Universidad Nacional Mayor de San Marcos' ,
'hobbie' : 'correr'
},
'acerot' : {'nombre' : 'Tatiana' ,
'apellido' : 'Acero Cuellar' ,
'país' : 'Colombia' ,
'residencia' : 'Colombia',
'edad' : 27 ,
'institución' : 'Universidad Nacional de Colombia' ,
'hobbie' : 'anime, cocinar, senderismo'
}
}
Ahora, creamos una función para mostrar la información de todas las personas de un mismo país.
#Función para mostrar la información de todas las personas de un mismo país
def info(dict, str): #Argumentos, el diccionario y el país
print('La información de compas de', str,'es:' '\n') #Un encabezado antes de que muestre toda la info
for compa,info in dict.items(): #Para cada usuario, información de usuario, en los items del diccionario
if dict[compa]['país'] == str: #Si el str en el argumento es igual al país del usuario
for i in info: #Cada información de ese usuario
print(i,': ',info[i]) #Imprimirla
print()
Probamos con Colombia.
info(compas, 'Colombia')
La información de compas de Colombia es: nombre : Juan apellido : Pineda país : Colombia residencia : Bucaramanga edad : 37 institución : Universidad Industrial de Santander hobbie : dibujo y caminatas en la naturaleza nombre : Cristian apellido : Velandia país : Colombia residencia : Colombia edad : 27 institución : Universidad Nacional de Colombia hobbie : anime, videos juegos nombre : Jennifer apellido : Grisales país : Colombia residencia : Bucaramanga edad : 27 institución : Universidad Industrial de Santander hobbie : rugby nombre : Tatiana apellido : Acero Cuellar país : Colombia residencia : Colombia edad : 27 institución : Universidad Nacional de Colombia hobbie : anime, cocinar, senderismo
Vemos que se imprime la información de todas las personas de Colombia. Probemos con Perú.
info(compas, 'Perú')
La información de compas de Perú es: nombre : Omar apellido : Asto país : Perú residencia : Lima edad : 25 institución : Universidad Nacional de Ingeniería hobbie : leer nombre : Yhony apellido : Mamani Arce país : Perú residencia : Perú edad : 26 institución : Universidad Nacional Mayor de San Marcos hobbie : correr
Obtenemos la información de las personas de Perú. Finalmente, Venezuela.
info(compas, 'Venezuela')
La información de compas de Venezuela es: nombre : Jocabed apellido : Martínez país : Venezuela residencia : Caracas edad : 22 institución : Universidad Central de Venezuela hobbie : música nombre : Andrea apellido : Tugores país : Venezuela residencia : Caracas edad : 24 institución : Universidad Central de Venezuela hobbie : tennis nombre : Gerardo apellido : Semprúm país : Venezuela residencia : Caracas edad : 24 institución : Universidad Central de Venezuela hobbie : artes marciales nombre : Anamaría apellido : Font país : Venezuela residencia : Alemania edad : 61 institución : Universidad Central de Venezuela hobbie : leer nombre : Eduardo apellido : Escalante país : Venezuela residencia : Venezuela edad : 46 institución : Universidad Simón Bolívar hobbie : música
Obtenemos la información de las personas de Venezuela.
Ahora, creamos una función para obtener el promedio de las edades de todas personas del diccionario compas.
#Función para el promedio de las edades
def pro(dict): #Argumento, el diccionario
s = 0 #Esta será la suma de las edades
n = 0 #Esta será el nųmero de elementos
for compa in dict.keys(): #Para cada compa del diccionario
s = s + dict[compa]['edad'] #Sumamos las edades
n = n + 1 #Número de edades
pro = s / n #Este sería el promedio
print('El promedio de las edades de los compas es: ')
print(pro, '\n')
Teniendo la función, obtenemos el promedio de todas las edades.
pro(compas)
El promedio de las edades de los compas es: 31.083333333333332
Finalmente, imprimimos todas las instituciones de todas las personas sin repetición. Para esto creamos otra función.
#Función para mostrar todas las instituciones sin repetición
def inst(dict): #Argumento, el diccionario
list_inst = [] #Lista de instituciones
print('Las instituciones de todos los compas son: \n') #Un encabezado
for compa in dict.keys(): #Para cada usuario
if dict[compa]['institución'] not in list_inst: #Si la institución no está en la lista, agregarla
list_inst.append(dict[compa]['institución'])
for inst in list_inst: #Cada institución imprimirla
print(inst)
inst(compas)
Las instituciones de todos los compas son: Universidad Central de Venezuela Universidad Nacional Mayor de San Marcos Universidad Industrial de Santander Universidad Nacional de Colombia Universidad Simón Bolívar Universidad Nacional de Ingeniería