Skip to content

Commit

Permalink
Corrección Roadmap 36 + Nuevo ejercicio 37
Browse files Browse the repository at this point in the history
  • Loading branch information
mouredev committed Sep 9, 2024
1 parent 5291081 commit d83e506
Show file tree
Hide file tree
Showing 3 changed files with 286 additions and 3 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
## Corrección y próximo ejercicio

> #### Lunes 9 de septiembre de 2024 a las 20:00 (hora España) desde **[Twitch](https://twitch.tv/mouredev)**
> #### Consulta el **[horario](https://discord.gg/7A9NDvrb?event=1277739431696138385)** por país y crea un **[recordatorio](https://discord.gg/7A9NDvrb?event=1277739431696138385)**
> #### Lunes 16 de septiembre de 2024 a las 20:00 (hora España) desde **[Twitch](https://twitch.tv/mouredev)**
> #### Consulta el **[horario](https://discord.gg/8cxgGTxm?event=1280229634524450877)** por país y crea un **[recordatorio](https://discord.gg/8cxgGTxm?event=1280229634524450877)**
## Roadmap

Expand Down Expand Up @@ -70,7 +70,8 @@
|33|[RESCATANDO A MICKEY](./Roadmap/33%20-%20RESCATANDO%20A%20MICKEY/ejercicio.md)|[📝](./Roadmap/33%20-%20RESCATANDO%20A%20MICKEY/python/mouredev.py)|[▶️](https://youtu.be/Bo9Cp3N68C0)|[👥](./Roadmap/33%20-%20RESCATANDO%20A%20MICKEY/)
|34|[ÁRBOL GENEALÓGICO DE LA CASA DEL DRAGÓN](./Roadmap/34%20-%20ÁRBOL%20GENEALÓGICO%20LA%20CASA%20DEL%20DRAGÓN/ejercicio.md)|[📝](./Roadmap/34%20-%20ÁRBOL%20GENEALÓGICO%20LA%20CASA%20DEL%20DRAGÓN/python/mouredev.py)|[▶️](https://youtu.be/GAHBOAzgE2w)|[👥](./Roadmap/34%20-%20ÁRBOL%20GENEALÓGICO%20LA%20CASA%20DEL%20DRAGÓN/)
|35|[REPARTIENDO LOS ANILLOS DE PODER](./Roadmap/35%20-%20REPARTIENDO%20LOS%20ANILLOS%20DE%20PODER/ejercicio.md)|[📝](./Roadmap/35%20-%20REPARTIENDO%20LOS%20ANILLOS%20DE%20PODER/python/mouredev.py)|[▶️](https://youtu.be/10i2dnaMLj8)|[👥](./Roadmap/35%20-%20REPARTIENDO%20LOS%20ANILLOS%20DE%20PODER/)
|36|[EL SOMBRERO SELECCIONADOR](./Roadmap/36%20-%20EL%20SOMBRERO%20SELECCIONADOR/ejercicio.md)|[🗓️ 09/09/24](https://discord.gg/7A9NDvrb?event=1277739431696138385)||[👥](./Roadmap/36%20-%20EL%20SOMBRERO%20SELECCIONADOR/)
|36|[EL SOMBRERO SELECCIONADOR](./Roadmap/36%20-%20EL%20SOMBRERO%20SELECCIONADOR/ejercicio.md)|[📝](./Roadmap/36%20-%20EL%20SOMBRERO%20SELECCIONADOR/python/mouredev.py)||[👥](./Roadmap/36%20-%20EL%20SOMBRERO%20SELECCIONADOR/)
|37|[OASIS VS LINKIN PARK](./Roadmap/37%20-%20OASIS%20VS%20LINKIN%20PARK/ejercicio.md)|[🗓️ 16/09/24](https://discord.gg/8cxgGTxm?event=1280229634524450877)||[👥](./Roadmap/37%20-%20OASIS%20VS%20LINKIN%20PARK/)

## Cursos en YouTube

Expand Down
253 changes: 253 additions & 0 deletions Roadmap/36 - EL SOMBRERO SELECCIONADOR/python/mouredev.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
import random

houses = {
"Frontend": 0,
"Backend": 0,
"Mobile": 0,
"Data": 0
}

questions = [
{
"question": "¿Qué tipo de proyectos te interesa más desarrollar?",
"answers": [
{
"option": "Aplicaciones móviles nativas para múltiples plataformas.",
"house": "Mobile"
},
{
"option": "Interfaces visualmente atractivas y responsivas.",
"house": "Frontend"
},
{
"option": "Procesamiento y análisis de grandes volúmenes de datos.",
"house": "Data"
},
{
"option": "Sistemas robustos y optimización de rendimiento del servidor.",
"house": "Backend"
}
]
},
{
"question": "¿Qué aspecto del desarrollo disfrutas más?",
"answers": [
{
"option": "Resolver problemas complejos de lógica y escalabilidad.",
"house": "Backend"
},
{
"option": "Analizar datos para tomar decisiones basadas en estadísticas.",
"house": "Data"
},
{
"option": "Crear aplicaciones móviles eficientes y funcionales.",
"house": "Mobile"
},
{
"option": "Trabajar en el diseño y la experiencia de usuario.",
"house": "Frontend"
}
]
},
{
"question": "¿Qué herramienta prefieres usar en tu día a día?",
"answers": [
{
"option": "Kotlin o Swift para desarrollar apps móviles nativas.",
"house": "Mobile"
},
{
"option": "Python o R para análisis de datos.",
"house": "Data"
},
{
"option": "Frameworks como React o Angular.",
"house": "Frontend"
},
{
"option": "Lenguajes como Node.js o Python para la gestión de servidores.",
"house": "Backend"
}
]
},
{
"question": "¿Cómo te ves en un equipo de desarrollo?",
"answers": [
{
"option": "Modelando datos y construyendo dashboards de análisis.",
"house": "Data"
},
{
"option": "Encargado de la lógica del servidor y las APIs.",
"house": "Backend"
},
{
"option": "Desarrollando la interfaz y funcionalidad de una app móvil.",
"house": "Mobile"
},
{
"option": "Diseñando las interacciones y los componentes visuales.",
"house": "Frontend"
}
]
},
{
"question": "¿Qué te motiva más al trabajar en un proyecto?",
"answers": [
{
"option": "Ver cómo el diseño cobra vida en la pantalla.",
"house": "Frontend"
},
{
"option": "Descubrir insights a partir del análisis de datos.",
"house": "Data"
},
{
"option": "Optimizar el rendimiento y escalabilidad del sistema.",
"house": "Backend"
},
{
"option": "Lograr que una aplicación móvil funcione perfectamente en cualquier dispositivo.",
"house": "Mobile"
}
]
},
{
"question": "¿Cuál es tu enfoque al aprender nuevas tecnologías?",
"answers": [
{
"option": "Explorar técnicas avanzadas de análisis de datos y machine learning.",
"house": "Data"
},
{
"option": "Aprender sobre nuevas arquitecturas y lenguajes de servidor.",
"house": "Backend"
},
{
"option": "Probar nuevas plataformas y herramientas para desarrollo móvil.",
"house": "Mobile"
},
{
"option": "Experimentar con nuevas librerías y frameworks de interfaz de usuario.",
"house": "Frontend"
}
]
},
{
"question": "¿Qué tipo de desafíos disfrutas más resolver?",
"answers": [
{
"option": "Solución de problemas de concurrencia y carga en servidores.",
"house": "Backend"
},
{
"option": "Optimización de interfaces para que se vean bien en cualquier dispositivo.",
"house": "Frontend"
},
{
"option": "Análisis de grandes volúmenes de datos para detectar patrones ocultos.",
"house": "Data"},
{
"option": "Creación de experiencias de usuario fluídas en dispositivos móviles.",
"house": "Mobile"
}
]
},
{
"question": "¿Cómo te gusta medir el éxito de tu trabajo?",
"answers": [
{
"option": "Por la estabilidad y rapidez del sistema bajo carga.",
"house": "Backend"
},
{
"option": "Mediante la satisfacción del usuario con la interfaz visual.",
"house": "Frontend"
},
{
"option": "Por la fluidez y buen rendimiento de la app móvil en diferentes dispositivos.",
"house": "Mobile"},
{
"option": "Por la precisión y relevancia de los resultados obtenidos en el análisis de datos.",
"house": "Data"
}
]
},
{
"question": "¿Qué te resulta más interesante al trabajar con tecnologías emergentes?",
"answers": [
{
"option": "Trabajar con tecnologías de big data o inteligencia artificial.",
"house": "Data"
},
{
"option": "Explorar nuevas arquitecturas para mejorar el rendimiento del servidor.",
"house": "Backend"
},
{
"option": "Probar nuevas herramientas y metodologías para mejorar el diseño y la UX.",
"house": "Frontend"
},
{
"option": "Desarrollar apps móviles que aprovechen nuevas capacidades de hardware.",
"house": "Mobile"
}
]
},
{
"question": "¿Cómo te enfrentas a un nuevo problema en un proyecto?",
"answers": [
{
"option": "Buscando patrones y soluciones basadas en análisis de datos.",
"house": "Data"
},
{
"option": "Replanteando la estructura visual y funcional de la interfaz.",
"house": "Frontend"
},
{
"option": "Explorando cómo mejorar la experiencia del usuario en dispositivos móviles.",
"house": "Mobile"
},
{
"option": "Analizando la estructura de datos y la lógica del backend.",
"house": "Backend"
}
]
}
]

print("\n¡Bienvenido a Hogwarts, la escuela de programación para magos y brujas del código!")
print("El sombrero seleccionador decidirá cuál es tu casa como programador.")

name = input("\n¿Cuál es tu nombre? ")

for index, question in enumerate(questions):

print(f"\nPregunta {index + 1}: {question["question"]}\n")

for i, answer in enumerate(question["answers"]):
print(f"{i + 1}. {answer["option"]}")

choice = int(input("\nSelecciona una respuesta entre 1 y 4: "))

selected_answer = question["answers"][choice - 1]
houses[selected_answer["house"]] += 1

assigned_house = max(houses, key=houses.get)
scores = list(houses.values())

if scores.count(max(scores)) > 1:
possible_houses = [
house for house,
points in houses.items() if points == max(scores)
]
assigned_house = random.choice(possible_houses)

print(
f"""\nHmmmm... Ha sido una decisión muy complicada, {
name}.\n¡Pero finalmente tu casa será {assigned_house}!"""
)
else:
print(f"\nEnhorabuena, {name}.\n¡Tu casa será {assigned_house}!")
29 changes: 29 additions & 0 deletions Roadmap/37 - OASIS VS LINKIN PARK/ejercicio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# #37 OASIS VS LINKIN PARK
> #### Dificultad: Media | Publicación: 09/09/24 | Corrección: 16/09/24
## Ejercicio

```
/*
* EJERCICIO:
* ¡Dos de las bandas más grandes de la historia están de vuelta!
* Oasis y Linkin Park han anunciado nueva gira, pero, ¿quién es más popular?
* Desarrolla un programa que se conecte al API de Spotify y los compare.
* Requisitos:
* 1. Crea una cuenta de desarrollo en https://developer.spotify.com.
* 2. Conéctate al API utilizando tu lenguaje de programación.
* 3. Recupera datos de los endpoint que tú quieras.
* Acciones:
* 1. Accede a las estadísticas de las dos bandas.
* Por ejemplo: número total de seguidores, escuchas mensuales,
* canción con más reproducciones...
* 2. Compara los resultados de, por lo menos, 3 endpoint.
* 3. Muestra todos los resultados por consola para notificar al usuario.
* 4. Desarrolla un criterio para seleccionar qué banda es más popular.
*/
```
#### Tienes toda la información extendida sobre el roadmap de retos de programación en **[retosdeprogramacion.com/roadmap](https://retosdeprogramacion.com/roadmap)**.

Sigue las **[instrucciones](../../README.md)**, consulta las correcciones y aporta la tuya propia utilizando el lenguaje de programación que quieras.

> Recuerda que cada semana se publica un nuevo ejercicio y se corrige el de la semana anterior en directo desde **[Twitch](https://twitch.tv/mouredev)**. Tienes el horario en la sección "eventos" del servidor de **[Discord](https://discord.gg/mouredev)**.

0 comments on commit d83e506

Please sign in to comment.