"### 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",
"metadata": {},
"source": [
"Importamos la librería tabulate para tabular el diccionario de forma organizada"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [],
"source": [
"from tabulate import tabulate"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Para utilizar la función tabulate, es necesario crear una lista con las etiquedas de la tabla. La llamamos items."
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"items = [\"Nombre\", \"Apellido\", \"Edad\", \"País de origen\", \"Ciudad de residencia\",\"especialidad\",\"institución\",\"hobbies\"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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'."
"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",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"digite un país: Perú\n"
]
}
],
"source": [
"x= input(\"digite un país: \")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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."
"**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."
"hobbies trekking, bike, jugar en pc, ver series\n"
]
}
],
"source": [
"pais(x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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",
"execution_count": 111,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"27.916666666666668\n"
]
}
],
"source": [
"a=0\n",
"n=0\n",
"for llave in compas:\n",
" a+=compas[llave]['edad']\n",
" n+=1\n",
"print(a/n)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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",
"execution_count": 112,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['Universidad Nacional de Ingeniería', 'Universidad Nacional de Colombia', 'Universidad Central de Venezuela', 'Universidad Nacional de Trujillo', 'Universidad Antonio Nariño', 'Universidad del Valle']\n"
### 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 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
fromtabulateimporttabulate
```
%% 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'.
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.
**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.
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
forllaveincompas:
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.
['Universidad Nacional de Ingeniería', 'Universidad Nacional de Colombia', 'Universidad Central de Venezuela', 'Universidad Nacional de Trujillo', 'Universidad Antonio Nariño', 'Universidad del Valle']