"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)\n",
"y un hobbie.\n",
"\n",
"**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",
"metadata": {},
"source": [
"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.\n",
"\n",
"**Consejo importante:**\n",
"\n",
"\n",
" Para abrir un diccionario se usan {}.\n",
" Cada par k:v (llave,valor) debe estar separado por una coma del siguiente par k:v."
"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",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"#Definimos nuestro diccionario como compas, en donde la llave es el usuario de mattermost de cada\n",
"#persona y el valor de dicha llave es el segundo diccionario que contiene la información general\n",
"\n",
"compas = {\n",
" \"semprumg\" : {\n",
" \"nombre\": \"Gerardo\",\n",
" \"apellido\": \"Semprúm\",\n",
" \"pais\": \"Venezuela\",\n",
" \"residencia\": \"Caracas\",\n",
" \"edad\": 24,\n",
" \"institución\": \"Universidad Central de Venezuela\",\n",
" \"hobbie\": \"VideoJuegos\",\n",
" },\n",
" \n",
" \"martinezj\" : {\n",
" \"nombre\":\"Jocabed\",\n",
" \"apellido\" : \"Martinez\",\n",
" \"pais\":\"Venezuela\",\n",
" \"residencia\":\"Caracas\",\n",
" \"edad\":22,\n",
" \"institución\":\"Universidad Central de Venezuela\",\n",
" \"hobbie\":\"Musica\",\n",
" },\n",
" \n",
" \"juan-pineda\" : {\n",
" \"nombre\": \"Juan C.\",\n",
" \"apellido\":\" B. Pineda\",\n",
" \"pais\":\"Colombia\",\n",
" \"residencia\":\"Bucaramanga\",\n",
" \"edad\":37,\n",
" \"institución\":\"Universidad Industrial de Santander\",\n",
" \"hobbie\":\"Caminatas en la naturaleza\",\n",
" },\n",
" \n",
" \"jal\" : {\n",
" \"nombre\": \"José A.\",\n",
" \"apellido\":\"Lopez\",\n",
" \"pais\":\"Venezuela\",\n",
" \"residencia\":\"Caracas\",\n",
" \"edad\":50,\n",
" \"institución\":\"Universidad Central de Venezuela\",\n",
" \"hobbie\":\"Excursionismo\", \n",
" },\n",
" \n",
" \"tugoresa\" : {\n",
" \"nombre\": \"Andrea\",\n",
" \"apellido\":\"Tugores\",\n",
" \"pais\":\"Venezuela\",\n",
" \"residencia\":\"Caracas\",\n",
" \"edad\":24,\n",
" \"institución\":\"Universidad Central de Venezuela\",\n",
" \"hobbie\":\"Tennis\",\n",
" },\n",
" \n",
" \"malamboj\": {\n",
" \"nombre\": \"Jorge\",\n",
" \"apellido\":\"Malambo\",\n",
" \"pais\":\"Colombia\",\n",
" \"residencia\":\"Bogota\",\n",
" \"edad\":39,\n",
" \"institución\":\" Universidad Nacional de Colombia\",\n",
" \"hobbie\":\"Talla en madera\",\n",
" },\n",
" \n",
" \"fernandezn\" :{\n",
" \"nombre\": \"Nicolás\",\n",
" \"apellido\":\"Fernandez\",\n",
" \"pais\":\"Argentina\",\n",
" \"residencia\":\"Perú\",\n",
" \"edad\":27,\n",
" \"institución\":\"Universidad Nacional Mayor de San Marcos\",\n",
" \"hobbie\":\"piano\",\n",
" },\n",
"\n",
" \"jalil\": {\n",
" \"nombre\": \"Jalil\",\n",
" \"apellido\":\"Varela\",\n",
" \"pais\":\"Colombia\",\n",
" \"residencia\":\"Colombia\",\n",
" \"edad\":26,\n",
" \"institución\":\"Universidad del Valle\",\n",
" \"hobbie\":\"trotar\",\n",
" },\n",
" \n",
" \"grisalesj\": {\n",
" \"nombre\": \"Jennifer\",\n",
" \"apellido\":\"Grisales\",\n",
" \"pais\":\"Colombia\",\n",
" \"residencia\":\"Bucaramanga\",\n",
" \"edad\":27,\n",
" \"institución\":\"Universidad Industrial de Santander\",\n",
" \"hobbie\":\"rugby\",\n",
" },\n",
" \n",
" \"bermudezj\": {\n",
" \"nombre\": \"Jesus D.\",\n",
" \"apellido\":\"Bermudez S.\",\n",
" \"pais\":\"Colombia\",\n",
" \"residencia\":\"Bogota\",\n",
" \"edad\":25,\n",
" \"institución\":\"Universidad Nacional de Colombia\",\n",
" \"hobbie\":\"Senderismo\",\n",
" },\n",
" \n",
" \"cristian.velandia\": {\n",
" \"nombre\": \"Cristian\",\n",
" \"apellido\":\"Velandia\",\n",
" \"pais\":\"Colombia\",\n",
" \"residencia\":\"Colombia\",\n",
" \"edad\":27,\n",
" \"institución\":\"Universidad Nacional de Colombia\",\n",
" \"hobbie\":\"Videojuegos\",\n",
" },\n",
" \n",
" \"acerot\":{\n",
" \"nombre\": \"Tatiana\",\n",
" \"apellido\":\"Acero C.\",\n",
" \"pais\":\"Colombia\",\n",
" \"residencia\":\"Colombia\",\n",
" \"edad\": 23,\n",
" \"institución\":\"Universidad Nacional de Colombia\",\n",
" \"hobbie\":\"Anime\",\n",
" },\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'nombre': 'Jennifer',\n",
" 'apellido': 'Grisales',\n",
" 'pais': 'Colombia',\n",
" 'residencia': 'Bucaramanga',\n",
" 'edad': 27,\n",
" 'institución': 'Universidad Industrial de Santander',\n",
" 'hobbie': 'rugby'}"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Pidiendo la información de un solo usuario:\n",
"compas[\"grisalesj\"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Crear una funcion que reciba como entrada el diccionario y un país de origen, y retorne las\n",
"informaciones completas de todas las personas de ese país, tabuladas en una forma facil de entender.**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"def Example(x):\n",
" mult= 5*x\n",
" return mult"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"25"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Example(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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. \n",
"Seguidamente entramos en el primer ciclo for, que por cada \"matter\" que serian las llaves de cada pesona contenidas en el diccionario.\n",
"\n",
"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",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"#Definiendo la funcion\n",
"def Compais(dict,str):\n",
" print(\"Los compas de\",str, \"que solicitaste son:\") #imprime un mensaje según la string\n",
" print()\n",
" for matter in dict.keys(): #Primer ciclo for, usa las key del diccionario\n",
" if dict[matter][\"pais\"] == str: #Condición de que la str sea igual a uno de los paises\n",
" print(\"Mattermost:\",[matter]) #Imprime el usuario de la persona\n",
" for k in dict[matter]: #Para los elementos k en el diccionario\n",
" print(k,\":\",dict[matter][k]) #imprime el par k,v del diccionario (datos personales)\n",
" print() #Imprime un espacio en blanco para mejor aspecto "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Según el diccionario creado, la función Compais acepta a los paises: Venezuela, Colombia y Argentina"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Los compas de Venezuela que solicitaste son:\n",
"\n",
"Mattermost: ['semprumg']\n",
"nombre : Gerardo\n",
"apellido : Semprúm\n",
"pais : Venezuela\n",
"residencia : Caracas\n",
"edad : 24\n",
"institución : Universidad Central de Venezuela\n",
"hobbie : VideoJuegos\n",
"\n",
"Mattermost: ['martinezj']\n",
"nombre : Jocabed\n",
"apellido : Martinez\n",
"pais : Venezuela\n",
"residencia : Caracas\n",
"edad : 22\n",
"institución : Universidad Central de Venezuela\n",
"hobbie : Musica\n",
"\n",
"Mattermost: ['jal']\n",
"nombre : José A.\n",
"apellido : Lopez\n",
"pais : Venezuela\n",
"residencia : Caracas\n",
"edad : 50\n",
"institución : Universidad Central de Venezuela\n",
"hobbie : Excursionismo\n",
"\n",
"Mattermost: ['tugoresa']\n",
"nombre : Andrea\n",
"apellido : Tugores\n",
"pais : Venezuela\n",
"residencia : Caracas\n",
"edad : 24\n",
"institución : Universidad Central de Venezuela\n",
"hobbie : Tennis\n",
"\n"
]
}
],
"source": [
"#Para llamar a nuestra función solo llamamos al diccionario compas y el país que deseamos\n",
"Compais(compas,'Venezuela')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**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",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Las edades de cada uno son: [24, 22, 37, 50, 24, 39, 27, 26, 27, 25, 27, 23]\n",
"El promedio de edad será: 29.25\n",
"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']\n"
]
}
],
"source": [
"#Para obtener un promedio de las edades usamos un loop e importamos una libreria de estadistica:\n",
"import statistics as stat \n",
"\n",
"prom_edad=[] #creamos la lista de promedio de edades\n",
"Unis=[] # Creamos la lista de Universidades presentes \n",
"\n",
"for matter in compas.keys(): #Iniciamos un ciclo for por cada elemento llave en el dict \"compas\"\n",
" prom_edad.append(compas[matter][\"edad\"]) #agregamos todas las edades en la lista de promedios\n",
" Unis.append(compas[matter][\"institución\"])#añadimos las universidades a la lista\n",
" Unis = set(Unis) #usamos \"set()\" para borrar elementos repetidos\n",
" Unis = sorted(Unis) #Usamos \"sorted()\" para ordenar las universidades en orden alfabetico\n",
"\n",
"print(\"Las edades de cada uno son:\",prom_edad) #imprimimos la lista completa de edades\n",
"\n",
"#En el argumento de print, usamos la función estadistica \".mean()\" que sirve para obtener el promedio\n",
"print(\"El promedio de edad será:\",stat.mean(prom_edad)) \n",
"\n",
"#Imprimimos nuestras instituciones\n",
"print(\"Nuestras instituciones son:\",Unis)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
%% 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.
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
defExample(x):
mult=5*x
returnmult
```
%% 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.