Skip to content
Snippets Groups Projects
Commit 401af217 authored by Gerardo Semprum's avatar Gerardo Semprum
Browse files

Notebook ejercicio 3

parent 9686e7fe
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
### Ejercicio 3. Amigos congueros.
#### Gerardo Semprúm.
#### Usuario de Mattermost: @semprumg
#### Universidad Central de Venezuela.
%% Cell type:markdown id: tags:
Entre en contacto con 10 estudiantes del curso de datos y 2 profesores de LaConga, uno del curso de datos y otro de afuera, y consulte su nombre completo, su nombre de usuario de mattermost, edad, pais de origen, ciudad donde residen, su especialidad cientifica, nombre del instituto(estudia/enseña)
y un hobbie.
**Cree un diccionario llamado compas, donde la llave sea el nombre de usuario en mattermost y si despliego el valor almacenado, Ex: compas["juan pineda"], lo que obtengo es a la vez otro diccionario con las llaves "nombre", "apellido", "país", "residencia", "edad", "institucion", "Hobbie"**
%% Cell type:markdown id: tags:
Debemos crear un diccionario anidado (nested dictionary), el cual es un diccionario, en donde sus elementos llave (key) estan emparejados con elementos valor (value) que son a su vez otro diccionario.
**Consejo importante:**
Para abrir un diccionario se usan {}.
Cada par k:v (llave,valor) debe estar separado por una coma del siguiente par k:v.
%% Cell type:code id: tags:
``` python
#Ejemplo: Creando un nested dictionary.
ex = {
"Persona 1":{
"nombre":"Pedro",
"Edad":27,
},
"Persona 2":{
"nombre":"Ana",
"Edad":25,
},
}
print(ex)
```
%% Output
{'Persona 1': {'nombre': 'Pedro', 'Edad': 27}, 'Persona 2': {'nombre': 'Ana', 'Edad': 25}}
%% Cell type:markdown id: tags:
De manera más compleja y extensa, creamos un diccionario en donde almacenamos a nuestros 10 compañeros y 2 profesores de La-Conga:
%% Cell type:code id: tags:
``` python
#Definimos nuestro diccionario como compas, en donde la llave es el usuario de mattermost de cada
#persona y el valor de dicha llave es el segundo diccionario que contiene la información general
compas = {
"semprumg" : {
"nombre": "Gerardo",
"apellido": "Semprúm",
"pais": "Venezuela",
"residencia": "Caracas",
"edad": 24,
"institución": "Universidad Central de Venezuela",
"hobbie": "VideoJuegos",
},
"martinezj" : {
"nombre":"Jocabed",
"apellido" : "Martinez",
"pais":"Venezuela",
"residencia":"Caracas",
"edad":22,
"institución":"Universidad Central de Venezuela",
"hobbie":"Musica",
},
"juan-pineda" : {
"nombre": "Juan C.",
"apellido":" B. Pineda",
"pais":"Colombia",
"residencia":"Bucaramanga",
"edad":37,
"institución":"Universidad Industrial de Santander",
"hobbie":"Caminatas en la naturaleza",
},
"jal" : {
"nombre": "José A.",
"apellido":"Lopez",
"pais":"Venezuela",
"residencia":"Caracas",
"edad":50,
"institución":"Universidad Central de Venezuela",
"hobbie":"Excursionismo",
},
"tugoresa" : {
"nombre": "Andrea",
"apellido":"Tugores",
"pais":"Venezuela",
"residencia":"Caracas",
"edad":24,
"institución":"Universidad Central de Venezuela",
"hobbie":"Tennis",
},
"malamboj": {
"nombre": "Jorge",
"apellido":"Malambo",
"pais":"Colombia",
"residencia":"Bogota",
"edad":39,
"institución":" Universidad Nacional de Colombia",
"hobbie":"Talla en madera",
},
"fernandezn" :{
"nombre": "Nicolás",
"apellido":"Fernandez",
"pais":"Argentina",
"residencia":"Perú",
"edad":27,
"institución":"Universidad Nacional Mayor de San Marcos",
"hobbie":"piano",
},
"jalil": {
"nombre": "Jalil",
"apellido":"Varela",
"pais":"Colombia",
"residencia":"Colombia",
"edad":26,
"institución":"Universidad del Valle",
"hobbie":"trotar",
},
"grisalesj": {
"nombre": "Jennifer",
"apellido":"Grisales",
"pais":"Colombia",
"residencia":"Bucaramanga",
"edad":27,
"institución":"Universidad Industrial de Santander",
"hobbie":"rugby",
},
"bermudezj": {
"nombre": "Jesus D.",
"apellido":"Bermudez S.",
"pais":"Colombia",
"residencia":"Bogota",
"edad":25,
"institución":"Universidad Nacional de Colombia",
"hobbie":"Senderismo",
},
"cristian.velandia": {
"nombre": "Cristian",
"apellido":"Velandia",
"pais":"Colombia",
"residencia":"Colombia",
"edad":27,
"institución":"Universidad Nacional de Colombia",
"hobbie":"Videojuegos",
},
"acerot":{
"nombre": "Tatiana",
"apellido":"Acero C.",
"pais":"Colombia",
"residencia":"Colombia",
"edad": 23,
"institución":"Universidad Nacional de Colombia",
"hobbie":"Anime",
},
}
```
%% Cell type:markdown id: tags:
Si queremos saber los datos de una persona contenida en esta lista solo es necesario llamar a los valores asociados a su llave (mattermost)
%% Cell type:code id: tags:
``` python
#Pidiendo la información de un solo usuario:
compas["grisalesj"]
```
%% Output
{'nombre': 'Jennifer',
'apellido': 'Grisales',
'pais': 'Colombia',
'residencia': 'Bucaramanga',
'edad': 27,
'institución': 'Universidad Industrial de Santander',
'hobbie': 'rugby'}
%% Cell type:markdown id: tags:
**Crear una funcion 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 facil de entender.**
%% Cell type:markdown id: tags:
Para crear una función pedimos a python que la defina y de que variable va a dependender, como se muestra en el ejemplo:
%% Cell type:code id: tags:
``` python
def Example(x):
mult= 5*x
return mult
```
%% Cell type:code id: tags:
``` python
Example(5)
```
%% Output
25
%% Cell type:markdown id: tags:
Definimos nuestra función que dependerá de un diccionario de nuestra elección y un elemento string str(), la función imprime un mensaje de orientación.
Seguidamente entramos en el primer ciclo for, que por cada "matter" que serian las llaves de cada pesona contenidas en el diccionario.
Entramos en un condicional (if) de donde si el elemento contenido en dict[matter]["pais"] coincide con la string que ingresemos (que debe ser un país). La función continuará a imprimir el Mattermost de cada persona en ese país seguido de su información en forma de tabla.
%% Cell type:code id: tags:
``` python
#Definiendo la funcion
def Compais(dict,str):
print("Los compas de",str, "que solicitaste son:") #imprime un mensaje según la string
print()
for matter in dict.keys(): #Primer ciclo for, usa las key del diccionario
if dict[matter]["pais"] == str: #Condición de que la str sea igual a uno de los paises
print("Mattermost:",[matter]) #Imprime el usuario de la persona
for k in dict[matter]: #Para los elementos k en el diccionario
print(k,":",dict[matter][k]) #imprime el par k,v del diccionario (datos personales)
print() #Imprime un espacio en blanco para mejor aspecto
```
%% Cell type:markdown id: tags:
Según el diccionario creado, la función Compais acepta a los paises: Venezuela, Colombia y Argentina
%% Cell type:code id: tags:
``` python
#Para llamar a nuestra función solo llamamos al diccionario compas y el país que deseamos
Compais(compas,'Venezuela')
```
%% Output
Los compas de Venezuela que solicitaste son:
Mattermost: ['semprumg']
nombre : Gerardo
apellido : Semprúm
pais : Venezuela
residencia : Caracas
edad : 24
institución : Universidad Central de Venezuela
hobbie : VideoJuegos
Mattermost: ['martinezj']
nombre : Jocabed
apellido : Martinez
pais : Venezuela
residencia : Caracas
edad : 22
institución : Universidad Central de Venezuela
hobbie : Musica
Mattermost: ['jal']
nombre : José A.
apellido : Lopez
pais : Venezuela
residencia : Caracas
edad : 50
institución : Universidad Central de Venezuela
hobbie : Excursionismo
Mattermost: ['tugoresa']
nombre : Andrea
apellido : Tugores
pais : Venezuela
residencia : Caracas
edad : 24
institución : Universidad Central de Venezuela
hobbie : Tennis
%% Cell type:markdown id: tags:
**Busque una forma de calcular, a partir del diccionario, el promedio de la edad de todas las personas en él , y una forma de mostrar todas las instituciones sin repetición.**
%% Cell type:code id: tags:
``` python
#Para obtener un promedio de las edades usamos un loop e importamos una libreria de estadistica:
import statistics as stat
prom_edad=[] #creamos la lista de promedio de edades
Unis=[] # Creamos la lista de Universidades presentes
for matter in compas.keys(): #Iniciamos un ciclo for por cada elemento llave en el dict "compas"
prom_edad.append(compas[matter]["edad"]) #agregamos todas las edades en la lista de promedios
Unis.append(compas[matter]["institución"])#añadimos las universidades a la lista
Unis = set(Unis) #usamos "set()" para borrar elementos repetidos
Unis = sorted(Unis) #Usamos "sorted()" para ordenar las universidades en orden alfabetico
print("Las edades de cada uno son:",prom_edad) #imprimimos la lista completa de edades
#En el argumento de print, usamos la función estadistica ".mean()" que sirve para obtener el promedio
print("El promedio de edad será:",stat.mean(prom_edad))
#Imprimimos nuestras instituciones
print("Nuestras instituciones son:",Unis)
```
%% Output
Las edades de cada uno son: [24, 22, 37, 50, 24, 39, 27, 26, 27, 25, 27, 23]
El promedio de edad será: 29.25
Nuestras instituciones son: [' Universidad Nacional de Colombia', 'Universidad Central de Venezuela', 'Universidad Industrial de Santander', 'Universidad Nacional Mayor de San Marcos', 'Universidad Nacional de Colombia', 'Universidad del Valle']
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment