Commit fc185e0f authored by Juan David Hernandez Ramirez's avatar Juan David Hernandez Ramirez
Browse files

se añadió el ejercicio3 y su versión en html

parent 5bcf7e7f
This diff is collapsed.
%% Cell type:markdown id: tags:
# Juan David Hernández ejercicio3 clase 02
%% Cell type:markdown id: tags:
### 1. Crear un diccionario llamado "compas", donde la llave sea el nombre de usuario en mattermost y cuando se digite, se muestre: nombre, apellido, país, residencia, edad, institución y hobbie. Del usuario respectivo.
%% Cell type:markdown id: tags:
Creamos entonces un diccionario llamado "compas" donde sus entradas son los usuarios del mattermost de 10 personas diferentes de la clase de ciencia de datos y 2 profesores de la CoNGA physics. A su vez cada usuario es un diccionario que lleva la información de cada una de las personas. Así cuando digitamos compas['usuario'] recibimos un diccionario que contiene la información del estudiante o profesor.
%% Cell type:code id: tags:
``` python
compas = {
'ordonezs' : {
'nombre' : 'Sebastian',
'apellido' : 'Ordoñez',
'edad' : 22,
'país de origen' : 'Colombia',
'ciudad de residencia': 'Bogotá',
'especialidad científica' : 'Física de partículas experimental',
'institución' : 'Universidad Nacional de Colombia',
'hobbies' : 'leer,hiking,entrenamiento de peso'
},
'acerot' : {
'nombre' : 'Tatiana',
'apellido' : 'Acero',
'edad' : 23,
'país de origen' : 'Colombia',
'ciudad de residencia': 'Bogotá',
'especialidad científica' : 'Mecánica celeste relativista',
'institución' : 'Universidad Nacional de Colombia',
'hobbies' : 'Anime'
},
'ladinoj' : {
'nombre' : 'Jose Miguel',
'apellido' : 'Ladino',
'edad' : 24,
'país de origen' : 'Colombia',
'ciudad de residencia': 'Bogotá',
'especialidad científica' : 'Mecánica celeste relativista',
'institución' : 'Universidad Nacional de Colombia',
'hobbies' : 'Skate'
},
'riveraa' : {
'nombre' : 'Ariel',
'apellido' : 'Rivera',
'edad' : 33,
'país de origen' : 'Perú',
'ciudad de residencia': 'Lima',
'especialidad científica' : 'Física Nuclear',
'institución' : 'Universidad Nacional de Ingeniería',
'hobbies' : 'Geopolitica, CS:Go, uC, Programación'
},
'pinzonc' : {
'nombre' : 'Carlos Andres',
'apellido' : 'Pinzon Osorio',
'edad' : 30,
'país de origen' : 'Colombia',
'ciudad de residencia': 'Bogotá',
'especialidad científica' : 'Física Nuclear',
'institución' : 'Universidad Antonio Nariño',
'hobbies' : 'Atletismo'
},
'omarasto' : {
'nombre' : 'Omar',
'apellido' : 'Asto',
'edad' : 25,
'país de origen' : 'Perú',
'ciudad de residencia': 'Lima',
'especialidad científica' : 'Física de altas energías',
'institución' : 'Universidad Nacional de Ingeniería',
'hobbies' : 'leer periódico'
},
'jal' : {
'nombre' : 'Jose Antonio',
'apellido' : 'López',
'edad' : 50,
'país de origen' : 'Venezuela',
'ciudad de residencia': 'Caracas',
'especialidad científica' : 'Física',
'institución' : 'Universidad Central de Venezuela',
'hobbies' : 'Excursionismo, cocinar, leer'
},
'jalil' : {
'nombre' : 'Jalil',
'apellido' : 'Varela',
'edad' : 21,
'país de origen' : 'Colombia',
'ciudad de residencia': 'Cali',
'especialidad científica' : 'Átomos ultra fríos',
'institución' : 'Universidad del Valle',
'hobbies' : 'trotar'
},
'malamboj' : {
'nombre' : 'Jorge Enrique',
'apellido' : 'Malambo',
'edad' : 39,
'país de origen' : 'Colombia',
'ciudad de residencia': 'Bogotá',
'especialidad científica' : 'Modelaje y simulación',
'institución' : 'Universidad Nacional de Colombia',
'hobbies' : 'Tallar madera y ecoturismo'
},
'martinezj' : {
'nombre' : 'Jocabed',
'apellido' : 'Martínez',
'edad' : 22,
'país de origen' : 'Venezuela',
'ciudad de residencia': 'Caracas',
'especialidad científica' : 'Astrofísica',
'institución' : 'Universidad Central de Venezuela',
'hobbies' : 'música'
},
'noecch' : {
'nombre' : 'Robin Noe',
'apellido' : 'Camacho',
'edad' : 22,
'país de origen' : 'Perú',
'ciudad de residencia': 'Trujillo',
'especialidad científica' : 'Espectroscopía Libs',
'institución' : 'Universidad Nacional de Trujillo',
'hobbies' : 'trekking, bike, jugar en pc, ver series'
},
'navasa' : {
'nombre' : 'Alfonso',
'apellido' : 'Navas',
'edad' : 24,
'país de origen' : 'Colombia',
'ciudad de residencia': 'Bogotá',
'especialidad científica' : 'Física de sistemas complejos, ecología',
'institución' : 'Universidad Nacional de Colombia',
'hobbies' : 'crossfit'
}
}
```
%% Cell type:markdown id: tags:
**Ejemplo** : si queremos buscar la infomación del estudiante Alfonso Navas, cuyo usuario de Mattermost es 'navasa', digitamos compas['navasa'] para acceder al diccionario asociado a este estudiante.
%% Cell type:code id: tags:
``` python
compas['navasa']
```
%% Output
{'nombre': 'Alfonso',
'apellido': 'Navas',
'edad': 24,
'país de origen': 'Colombia',
'ciudad de residencia': 'Bogotá',
'especialidad científica': 'Física de sistemas complejos, ecología',
'institución': 'Universidad Nacional de Colombia',
'hobbies': 'crossfit'}
%% Cell type:markdown id: tags:
### 2. Crear una función que reciba el diccionario y un país de origen y devuelva de forma tabulada la información de todas las personas de dicho país. Además cree una forma de calcular el promedio de edades de todas las personas en el diccionario y también como mostrar todas las instituciones sin repetición.
%% Cell type:markdown id: tags:
Importamos la librería tabulate para tabular el diccionario de forma organizada
%% Cell type:code id: tags:
``` python
from tabulate import tabulate
```
%% Cell type:markdown id: tags:
Para utilizar la función tabulate, es necesario crear una lista con las etiquedas de la tabla. La llamamos items.
%% Cell type:code id: tags:
``` python
items = ["Nombre", "Apellido", "Edad", "País de origen", "Ciudad de residencia","especialidad","institución","hobbies"]
```
%% Cell type:markdown id: tags:
Acá tenemos un ejemplo de la función tabulate, cuando se la aplicamos al diccionario que se genera al ingresar el usuario de mattermos 'ordonezs'.
%% Cell type:code id: tags:
``` python
print(tabulate(compas['ordonezs'].items(),headers=items))
```
%% Output
Nombre Apellido
----------------------- ---------------------------------
nombre Sebastian
apellido Ordoñez
edad 22
país de origen Colombia
ciudad de residencia Bogotá
especialidad científica Física de partículas experimental
institución Universidad Nacional de Colombia
hobbies leer,hiking,entrenamiento de peso
%% Cell type:markdown id: tags:
Ahora creamos una variable que reciba un país para obtener la información de los estudiantes y profesores que pertenecen a dicho país.
%% Cell type:code id: tags:
``` python
x= input("digite un país: ")
```
%% Output
digite un país: Perú
%% Cell type:markdown id: tags:
Definimos la función país, la cual recibe un string. Luego busca en todos los diccionarios en la sección ['país de origen'] cuales coinciden con la variable que se ingresó a la función y finalmente imprime la información correspondiente de forma tabulada.
%% Cell type:code id: tags:
``` python
def pais(p):
for llave in compas:
if compas[llave]['país de origen'] == x:
print(tabulate(compas[llave].items(),headers=items))
```
%% Cell type:markdown id: tags:
**Ejemplo:** Cuando ingresamos como variable 'Perú' y aplicamos la función país sobre esta variable, obtenemos la información de tres estudiantes cuyo país de origen coincide con el que se ingresó a la función. Obtenemos entonces la información correspondiente de cada uno de ellos y ellas.
%% Cell type:code id: tags:
``` python
pais(x)
```
%% Output
Nombre Apellido
----------------------- ------------------------------------
nombre Ariel
apellido Rivera
edad 33
país de origen Perú
ciudad de residencia Lima
especialidad científica Física Nuclear
institución Universidad Nacional de Ingeniería
hobbies Geopolitica, CS:Go, uC, Programación
Nombre Apellido
----------------------- ----------------------------------
nombre Omar
apellido Asto
edad 25
país de origen Perú
ciudad de residencia Lima
especialidad científica Física de altas energías
institución Universidad Nacional de Ingeniería
hobbies leer periódico
Nombre Apellido
----------------------- ---------------------------------------
nombre Robin Noe
apellido Camacho
edad 22
país de origen Perú
ciudad de residencia Trujillo
especialidad científica Espectroscopía Libs
institución Universidad Nacional de Trujillo
hobbies trekking, bike, jugar en pc, ver series
%% Cell type:markdown id: tags:
Ahora queremos calcular la edad promedio de los estudiantes y profesores del diccionario. Para esto creamos dos variables que inician en cero. Luego aplicamos un ciclo for que recorra las edades de todos los estudiantes y las vaya sumando a la variable a, además luego de hacer esto, la variable n suma 1 para llevar la cuenta de cuantas personas hay en el diccionario. Finalmente imprimimos el cociente entre a y n para obtener la edad promedio.
%% Cell type:code id: tags:
``` python
a=0
n=0
for llave in compas:
a+=compas[llave]['edad']
n+=1
print(a/n)
```
%% Output
27.916666666666668
%% Cell type:markdown id: tags:
Finalmente, queremos obtener una lista con todas las instituciones sin repetición. Para esto creamos una lista vacía y por medio de un ciclo for le vamos añadiendo la institución correspondiente de cada estudiante o profesor, luego volvemos la lista un set para que elimine los elementos repetidos y la volvemos una lista nuevamente. Al imprimir esta nueva lista obtenemos el resultado deseado.
%% Cell type:code id: tags:
``` python
instituciones=[]
for llave in compas:
instituciones.append(compas[llave]['institución'])
institucionesnr = list(set(instituciones))
print(institucionesnr)
```
%% Output
['Universidad Nacional de Ingeniería', 'Universidad Nacional de Colombia', 'Universidad Central de Venezuela', 'Universidad Nacional de Trujillo', 'Universidad Antonio Nariño', 'Universidad del Valle']
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment