Skip to content

Commit 1dec8a3

Browse files
authored
Merge pull request #7169 from pyramsd/reto#36
#36 - python
2 parents 30984fe + bb071e5 commit 1dec8a3

File tree

1 file changed

+135
-0
lines changed
  • Roadmap/36 - EL SOMBRERO SELECCIONADOR/python

1 file changed

+135
-0
lines changed
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
import random
2+
3+
casas = {
4+
"a":"Fronted",
5+
"b":"Backend",
6+
"c":"Mobile",
7+
"d":"Data"
8+
}
9+
10+
preguntas_y_alternativas = [
11+
{
12+
"pregunta":"1. ¿Qué enfoque es clave para garantizar una experiencia de usuario atractiva y funcional?",
13+
"alternativas":[
14+
"a) Diseño responsivo ",
15+
"b) Creación de una API robusta",
16+
"c) Optimización de la aplicación para múltiples dispositivos",
17+
"d) Uso eficiente de análisis de datos"
18+
]
19+
},
20+
{
21+
"pregunta":"2. ¿Cuál es la prioridad principal al trabajar con seguridad en un proyecto?",
22+
"alternativas":[
23+
"a) Sanitizar entradas en formularios",
24+
"b) Implementar autenticación y control de acceso",
25+
"c) Garantizar permisos correctos en aplicaciones móviles",
26+
"d) Cifrar datos sensibles almacenados"
27+
]
28+
},
29+
{
30+
"pregunta":"3. ¿Qué se debe considerar al mejorar el rendimiento de un sistema?",
31+
"alternativas":[
32+
"a) Minimizar archivos CSS y JavaScript",
33+
"b) Optimizar consultas a la base de datos",
34+
"c) Reducir el tamaño de la app para descargas rápidas",
35+
"d) Procesar grandes volúmenes de datos en paralelo"
36+
]
37+
},
38+
{
39+
"pregunta":"4. ¿Cuál sería el mejor enfoque para personalizar la experiencia del usuario?",
40+
"alternativas":[
41+
"a) Usar cookies o almacenamiento local para recordar preferencias",
42+
"b) Crear endpoints específicos para cada usuario",
43+
"c) Integrar notificaciones push personalizadas",
44+
"d) Utilizar modelos de recomendación basados en datos"
45+
]
46+
},
47+
{
48+
"pregunta":"5. ¿Qué técnica es fundamental para la escalabilidad de un sistema?",
49+
"alternativas":[
50+
"a) Usar frameworks modernos para optimizar el DOM",
51+
"b) Implementar microservicios",
52+
"c) Escalar la aplicación a diferentes plataformas",
53+
"d) Aplicar particionamiento en bases de datos"
54+
]
55+
},
56+
{
57+
"pregunta":"6. ¿Qué enfoque es esencial para un desarrollo ágil y colaborativo?",
58+
"alternativas":[
59+
"a) Uso de componentes reutilizables en UI",
60+
"b) Configuración de un servidor de desarrollo local",
61+
"c) Pruebas en múltiples simuladores y dispositivos",
62+
"d) Versionamiento adecuado de conjuntos de datos"
63+
]
64+
},
65+
{
66+
"pregunta":"7. ¿Qué característica mejora la accesibilidad del sistema?",
67+
"alternativas":[
68+
"a) Implementar navegación por teclado y lectores de pantalla",
69+
"b) Generar mensajes de error claros desde el servidor",
70+
"c) Ajustar el tamaño del texto y elementos táctiles",
71+
"d) Garantizar datos fácilmente interpretables en visualizaciones"
72+
]
73+
},
74+
{
75+
"pregunta":"8. ¿Qué aspecto es crítico al realizar pruebas en el desarrollo?",
76+
"alternativas":[
77+
"a) Validar interacciones y animaciones de la interfaz",
78+
"b) Probar endpoints de la API con datos de prueba",
79+
"c) Verificar comportamiento en distintas versiones del sistema operativo",
80+
"d) Evaluar precisión de los modelos predictivos"
81+
]
82+
},
83+
{
84+
"pregunta":"9. ¿Cómo manejar eficientemente errores en el sistema?",
85+
"alternativas":[
86+
"a) Mostrar mensajes amigables y descriptivos para el usuario",
87+
"b) Registrar errores en archivos de log centralizados",
88+
"c) Implementar seguimiento de fallos con herramientas como Crashlytics",
89+
"d) Detectar valores anómalos en flujos de datos"
90+
]
91+
},
92+
{
93+
"pregunta":"10. ¿Qué es importante al trabajar con integraciones de terceros?",
94+
"alternativas":[
95+
"a) Implementar SDKs con compatibilidad garantizada",
96+
"b) Configurar endpoints para servicios externos",
97+
"c) Gestionar dependencias de bibliotecas móviles",
98+
"d) Normalizar los datos provenientes de múltiples fuentes"
99+
]
100+
}
101+
]
102+
103+
pnts = {"a":0, "b":0, "c":0, "d":0}
104+
105+
print("\t\t\tBinvenido a la escuela de desarrollo!\
106+
\n\t\t\t-------------------\
107+
\nEl sombrero seleccionardor se encargará de seleccionar tu casa de desarrollo\
108+
\n--------------------------------------------------------------------------")
109+
110+
r_valida = False
111+
112+
while not r_valida:
113+
try:
114+
for pregunta in preguntas_y_alternativas:
115+
print(f'\n{pregunta["pregunta"]}')
116+
for alternativa in pregunta["alternativas"]:
117+
print(alternativa)
118+
r = input("Rpta (a, b, c, d): ").lower()
119+
if r not in pnts:
120+
raise ValueError(f"Alternativa no válida: {r}")
121+
pnts[r] += 1
122+
r_valida = True
123+
except ValueError as e:
124+
print(f"Error: {e}\nIntente de nuevo")
125+
126+
max_pnts = max(pnts.values())
127+
empates = [casa for casa, puntos in pnts.items() if puntos == max_pnts]
128+
129+
if len(empates) > 1:
130+
print("\nLa decisión fue complicada...")
131+
casa_final = casas[random.choice(empates)]
132+
else:
133+
casa_final = casas[empates[0]]
134+
135+
print(f"Eres {casa_final}!")

0 commit comments

Comments
 (0)