-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Corrección Roadmap 36 + Nuevo ejercicio 37
- Loading branch information
Showing
3 changed files
with
286 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
253 changes: 253 additions & 0 deletions
253
Roadmap/36 - EL SOMBRERO SELECCIONADOR/python/mouredev.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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}!") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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)**. |