Skip to content

Commit 00fbeb5

Browse files
authored
Merge pull request mouredev#5931 from DavidVilem/main
mouredev#36 - Python
2 parents 2a0913d + b9c9242 commit 00fbeb5

File tree

1 file changed

+134
-0
lines changed

1 file changed

+134
-0
lines changed
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
2+
import random
3+
4+
# Definimos las casas
5+
casas = ["Frontend", "Backend", "Mobile", "Data"]
6+
7+
# Definimos un diccionario para almacenar los puntos de cada casa
8+
puntos = {casa: 0 for casa in casas}
9+
10+
# Preguntas y opciones
11+
preguntas = [
12+
{
13+
"pregunta": "¿Cuál es tu lenguaje de programación favorito?",
14+
"opciones": {
15+
"a": ("JavaScript", "Frontend"),
16+
"b": ("Python", "Backend"),
17+
"c": ("Swift", "Mobile"),
18+
"d": ("R", "Data")
19+
}
20+
},
21+
{
22+
"pregunta": "¿Qué tipo de proyectos te gusta más desarrollar?",
23+
"opciones": {
24+
"a": ("Aplicaciones web", "Frontend"),
25+
"b": ("Sistemas distribuidos", "Backend"),
26+
"c": ("Aplicaciones móviles", "Mobile"),
27+
"d": ("Análisis de datos", "Data")
28+
}
29+
},
30+
{
31+
"pregunta": "¿Cuál es tu herramienta preferida para desarrollo?",
32+
"opciones": {
33+
"a": ("React", "Frontend"),
34+
"b": ("Django", "Backend"),
35+
"c": ("Flutter", "Mobile"),
36+
"d": ("Pandas", "Data")
37+
}
38+
},
39+
{
40+
"pregunta": "¿Qué es lo que más valoras en un proyecto?",
41+
"opciones": {
42+
"a": ("Interfaz de usuario", "Frontend"),
43+
"b": ("Rendimiento y escalabilidad", "Backend"),
44+
"c": ("Compatibilidad en dispositivos", "Mobile"),
45+
"d": ("Información y análisis", "Data")
46+
}
47+
},
48+
{
49+
"pregunta": "¿Cuál es tu entorno de trabajo favorito?",
50+
"opciones": {
51+
"a": ("Navegador", "Frontend"),
52+
"b": ("Servidor", "Backend"),
53+
"c": ("Dispositivo móvil", "Mobile"),
54+
"d": ("Ambiente de análisis", "Data")
55+
}
56+
},
57+
{
58+
"pregunta": "¿Qué prefieres aprender en tu tiempo libre?",
59+
"opciones": {
60+
"a": ("Nuevas tecnologías web", "Frontend"),
61+
"b": ("Arquitectura de software", "Backend"),
62+
"c": ("Desarrollo de apps", "Mobile"),
63+
"d": ("Machine learning", "Data")
64+
}
65+
},
66+
{
67+
"pregunta": "¿En qué tipo de equipo te gustaría trabajar?",
68+
"opciones": {
69+
"a": ("Equipo de UX/UI", "Frontend"),
70+
"b": ("Equipo de DevOps", "Backend"),
71+
"c": ("Equipo de desarrollo móvil", "Mobile"),
72+
"d": ("Equipo de ciencia de datos", "Data")
73+
}
74+
},
75+
{
76+
"pregunta": "¿Qué consideras más desafiante?",
77+
"opciones": {
78+
"a": ("Diseño responsivo", "Frontend"),
79+
"b": ("Optimización de consultas", "Backend"),
80+
"c": ("Compatibilidad multiplataforma", "Mobile"),
81+
"d": ("Limpieza de datos", "Data")
82+
}
83+
},
84+
{
85+
"pregunta": "¿Cuál es tu prioridad en un proyecto?",
86+
"opciones": {
87+
"a": ("Experiencia de usuario", "Frontend"),
88+
"b": ("Seguridad", "Backend"),
89+
"c": ("Accesibilidad", "Mobile"),
90+
"d": ("Precisión de los resultados", "Data")
91+
}
92+
},
93+
{
94+
"pregunta": "¿Qué te motiva más?",
95+
"opciones": {
96+
"a": ("Crear interfaces atractivas", "Frontend"),
97+
"b": ("Resolver problemas complejos", "Backend"),
98+
"c": ("Desarrollar apps innovadoras", "Mobile"),
99+
"d": ("Descubrir patrones en datos", "Data")
100+
}
101+
}
102+
]
103+
104+
# Solicitar el nombre del alumno
105+
nombre_alumno = input("¡Bienvenido al sombrero seleccionador! ¿Cuál es tu nombre? ")
106+
107+
# Realizar las preguntas
108+
for idx, pregunta in enumerate(preguntas):
109+
print(f"\nPregunta {idx + 1}: {pregunta['pregunta']}")
110+
for opcion, (respuesta, casa) in pregunta["opciones"].items():
111+
print(f" {opcion}. {respuesta}")
112+
113+
eleccion = input("Elige una opción (a, b, c, d): ").lower()
114+
115+
while eleccion not in pregunta["opciones"]:
116+
eleccion = input("Opción inválida. Por favor, elige entre a, b, c, d: ").lower()
117+
118+
# Asignar puntos a la casa correspondiente
119+
casa_asignada = pregunta["opciones"][eleccion][1]
120+
puntos[casa_asignada] += 1
121+
122+
# Determinar la casa con mayor puntaje
123+
max_puntos = max(puntos.values())
124+
casas_ganadoras = [casa for casa, puntaje in puntos.items() if puntaje == max_puntos]
125+
126+
# Resolver empates si es necesario
127+
if len(casas_ganadoras) > 1:
128+
casa_final = random.choice(casas_ganadoras)
129+
print(f"\n¡Vaya, {nombre_alumno}! El sombrero ha tenido una decisión difícil...")
130+
else:
131+
casa_final = casas_ganadoras[0]
132+
133+
# Mostrar el resultado final
134+
print(f"\n{nombre_alumno}, has sido seleccionado para la casa de {casa_final}!")

0 commit comments

Comments
 (0)