Nombre: Sasiri Juliana Vargas Urbano
Correo: sasiri.vargas@correounivalle.edu.co
Usuario Mattermost: vargass
Se pide recopilar la información de 10 compañeros participantes de la CoNGA y 2 profesores, a continuación se escribe la información organizada en directorios.
#Suponiendo que ninguno de los entrevistados ha cumplido años aún
Año_actual=2020
amigo_1={'nombre': 'Jalil',
'apellido': 'Varela Manjarrés',
'país': 'Colombia',
'residencia': 'Cali',
#Se hace la diferencia con el año actual para no tener que actualizar la edad por años
'edad' : Año_actual-1999,
'institución':'Universidad del Valle',
'hobbie':'Correr y cine',
'especialidad científica':'Átomos ultrafrios'}
amigo_2={'nombre': 'Felipe',
'apellido': 'Reyes Osorio',
'país': 'Colombia',
'residencia': 'Cali',
'edad' : Año_actual-1998,
'institución':'Universidad del Valle',
'hobbie':'Ir al gimnasio',
'especialidad científica':'Materia condensada'}
amigo_3={'nombre': 'Jennifer',
'apellido': 'Grisaless Casadiegos',
'país': 'Colombia',
'residencia': 'Bucaramanga',
'edad' : Año_actual-1993,
'institución':'Universidad Industrial de Santander',
'hobbie':'Jugar rugbby y divulgación científica',
'especialidad científica':'Astropartículas'}
amigo_4={'nombre': 'Maria José',
'apellido': 'Ramos Sotillo',
'país': 'Venezuela',
'residencia': 'Mérida',
'edad' : Año_actual-1997,
'institución':'Universidad de los Andes',
'hobbie':'Escribir cuentos y novelas',
'especialidad científica':'Física de Altas energías'}
amigo_5={'nombre': 'David Leonardo',
'apellido': 'Ramos Salamanca',
'país': 'Colombia',
'residencia': 'Bucaramanga',
'edad' : Año_actual-1996,
'institución':'Universidad Industrial de Santander',
'hobbie':'Tocar guitarra',
'especialidad científica':'Astrofísica relativista'}
amigo_6={'nombre': 'Nicolás',
'apellido': 'Fernández Cinquepalmi',
'país': 'Argentina',
'residencia': 'Perú',
'edad' : Año_actual-1993,
'institución':'Universidad Nacional Mayor de San Marcos',
'hobbie':'Tocar piano',
'especialidad científica':'Física Nuclear'}
amigo_7={'nombre': 'Andrés David',
'apellido': 'Florez Quintero',
'país': 'Colombia',
'residencia': 'Cali',
'edad' : Año_actual-1998,
'institución':'Universidad del Valle',
'hobbie':'Movement culture',
'especialidad científica':'Cosmología'}
amigo_8={'nombre': 'Omar',
'apellido': 'Asto',
'país': 'Perú',
'residencia': 'Lima',
'edad' : Año_actual-1995,
'institución':'Universidad Nacional de Ingenieria',
'hobbie':'leer periódico',
'especialidad científica':'Física de Altas Energías'}
amigo_9={'nombre': 'Yhony',
'apellido': 'Mamamni Arce',
'país': 'Perú',
'residencia': 'Lima',
'edad' : Año_actual-1994,
'institución':'Universidad Nacional Mayor de San Marcos',
'hobbie':'Correr, natación, leer libros de filosofía, psicología, ciencia, ciencia ficción',
'especialidad científica':'Física del estado solido'}
amigo_10={'nombre': 'Alfonso',
'apellido': 'Navas',
'país': 'Colombia',
'residencia': 'Bogotá',
'edad' : Año_actual-1996,
'institución':'Universidad Nacional de Colombia',
'hobbie':'Crossfit',
'especialidad científica':'Física de sistemas complejos, Ecología'}
prof_1={'nombre': 'Luis',
'apellido': 'Inunez',
'país': 'Venezuela',
'residencia': 'Bucaramanga',
'edad' : Año_actual-1957,
'institución':'Universidad Industrial de Santander',
'hobbie':'Montañismo y submarinismo',
'especialidad científica':'Astrofísica de Altas Energías'}
prof_2={'nombre': 'Juan Carlos',
'apellido': 'Basto Pineda',
'país': 'Colombia',
'residencia': 'Bucaramanga',
'edad' : Año_actual - 1983,
'institución':'Universidad Industrial de Santander',
'hobbie':'Dibujar y caminatas',
'especialidad científica':'Astronomía'}
En el ejercicio se pide crear un diccionario llamado "compas", en el cual las keys son los usuarios en mattermost y retorna los respectivos diccionarios creados en la celda anterior. A continuación se crea el diccionario manualmente.
compas={'jalil': amigo_1,
'reyesf': amigo_2,
'grisalesj': amigo_3,
'ramosm': amigo_4,
'ramosd': amigo_5,
'fernandezn': amigo_6,
'floreza': amigo_7,
'omarasto': amigo_8,
'mamaniy': amigo_9,
'navasa': amigo_10,
'Inunez': prof_1,
'juan-pineda': prof_2
}
Ejemplo:
Para mostrar el funcionamiento del diccionario se realiza:
#Impresión de las keys del diccionario
print('Usuarios mattermost: ', compas.keys())
Usuarios mattermost: dict_keys(['jalil', 'reyesf', 'grisalesj', 'ramosm', 'ramosd', 'fernandezn', 'floreza', 'omarasto', 'mamaniy', 'navasa', 'Inunez', 'juan-pineda'])
#Impresión de los datos del primer usuario
print('\nPara el primer usuario: \n')
print(compas['jalil'])
Para el primer usuario: {'nombre': 'Jalil', 'apellido': 'Varela Manjarrés', 'país': 'Colombia', 'residencia': 'Cali', 'edad': 21, 'institución': 'Universidad del Valle', 'hobbie': 'Correr y cine', 'especialidad científica': 'Átomos ultrafrios'}
Funcion información:
En el ejercicio también se pide realizar una función que como entrada tenga un diccionario y un pais de origen, y retorne las informaciones de las personas de ese país
def info(dic, pais):
valores=list(dic.values())
for i in range(0,len(valores),1):
lista=list(valores[i].values())
tipo=list(valores[i].keys())
if pais in lista:
for i in range(0,len(lista),1):
print(tipo[i]+': '+str(lista[i]) )
print('\n')
Ejemplo:
#Se hace el ejemplo con el diccionario "compas" y el país Colombia
info(compas,'Colombia')
nombre: Jalil apellido: Varela Manjarrés país: Colombia residencia: Cali edad: 21 institución: Universidad del Valle hobbie: Correr y cine especialidad científica: Átomos ultrafrios nombre: Felipe apellido: Reyes Osorio país: Colombia residencia: Cali edad: 22 institución: Universidad del Valle hobbie: Ir al gimnasio especialidad científica: Materia condensada nombre: Jennifer apellido: Grisaless Casadiegos país: Colombia residencia: Bucaramanga edad: 27 institución: Universidad Industrial de Santander hobbie: Jugar rugbby y divulgación científica especialidad científica: Astropartículas nombre: David Leonardo apellido: Ramos Salamanca país: Colombia residencia: Bucaramanga edad: 24 institución: Universidad Industrial de Santander hobbie: Tocar guitarra especialidad científica: Astrofísica relativista nombre: Andrés David apellido: Florez Quintero país: Colombia residencia: Cali edad: 22 institución: Universidad del Valle hobbie: Movement culture especialidad científica: Cosmología nombre: Alfonso apellido: Navas país: Colombia residencia: Bogotá edad: 24 institución: Universidad Nacional de Colombia hobbie: Crossfit especialidad científica: Física de sistemas complejos, Ecología nombre: Juan Carlos apellido: Basto Pineda país: Colombia residencia: Bucaramanga edad: 37 institución: Universidad Industrial de Santander hobbie: Dibujar y caminatas especialidad científica: Astronomía
Función promedio de edades:
Se pide que a partir del diccionario "compas" se calcule el promedio de las edades de los entrevistados
#Solo funciona para el diccionario "compas" creado en este ejercicio
def promedio(dic):
valores=list(dic.values()) #Se crea una lista con los valores del diccionario
prom=[] #Se crea una lista vacia
for i in range(0,len(valores),1):
lista=list(valores[i].values()) #Se hace una lista del diccionario contenido en el diccionario ingresado
prom.append(lista[4]) #La componente 4 que contiene la edad se añade a la lista prom
return int(sum(prom)/float(len(prom))) #Se calcula el promedio
Prueba:
promedio(compas)
28
Función instituciones de los participantes:
Se pide mostrar todas las instituciones de los participantes contenidos en el diccionario "compas", sin repetición de instituciones.
#Solo funciona para el diccionario "compas" creado en este ejercicio
def instituciones(dic):
valores=list(dic.values()) #Se crea una lista con los valores del diccionario
inst=[] #Se crea una lista vacia
for i in range(0,len(valores),1):
lista=list(valores[i].values()) #Se hace una lista del diccionario contenido en el diccionario ingresado
inst.append(lista[5]) #La componente 5 que contiene el str de la institución se añade a la lista inst
return set(inst) #Se retornan las instituciones sin repetición
Prueba:
instituciones(compas)
{'Universidad Industrial de Santander', 'Universidad Nacional Mayor de San Marcos', 'Universidad Nacional de Colombia', 'Universidad Nacional de Ingenieria', 'Universidad de los Andes', 'Universidad del Valle'}
!jupyter nbconvert --to html ejercicio3.ipynb
[NbConvertApp] Converting notebook ejercicio3.ipynb to html [NbConvertApp] Writing 607853 bytes to ejercicio3.html