Solución al Ejercicio: Sugerir juego de mesa
📋 Copiar código
import random
def sugerir_juego_o_actividad(num_jugadores):
"""
Toma el número de jugadores y sugiere aleatoriamente un juego de mesa o actividad adecuada.
Args:
num_jugadores: El número de jugadores (entero).
Returns:
Un mensaje (cadena de texto) con la sugerencia del juego o actividad.
"""
sugerencias_por_jugadores = {
1: ["Resolver un puzzle", "Jugar un videojuego individual", "Leer un libro interactivo", "Hacer un solitario"],
2: ["Jugar al ajedrez", "Jugar a las damas", "Jugar a un juego de mesa cooperativo", "Ver una película juntos"],
3: ["Jugar al Cluedo", "Jugar a Catan", "Jugar al Carcassonne", "Hacer un juego de cartas como el " + "Presidente"],
4: ["Jugar al Ticket to Ride", "Jugar a Código Secreto", "Jugar a Los Hombres Lobo de Castronegro", "Organizar una noche de trivial"],
5: ["Jugar a 7 Wonders", "Jugar a Aventureros al Tren", "Jugar a Dixit", "Hacer una partida de rol básica"],
6: ["Jugar a Bang!", "Jugar a Fórmula Dé", "Jugar a Ciudadelas", "Organizar una búsqueda del tesoro"],
"muchos": ["Jugar al Tabú", "Jugar al Pictionary", "Hacer una noche de karaoke", "Organizar un juego de mímica"]
}
if num_jugadores in sugerencias_por_jugadores:
sugerencia = random.choice(sugerencias_por_jugadores[num_jugadores])
return f"Para {num_jugadores} jugadores, te sugiero probar: ¡{sugerencia}!"
elif num_jugadores > 6:
sugerencia = random.choice(sugerencias_por_jugadores["muchos"])
return f"Para {num_jugadores} jugadores, te sugiero probar algo para muchos como: ¡{sugerencia}!"
elif num_jugadores <= 0:
return "Necesitas al menos un jugador para divertirse. ¡Quizás un puzzle?"
else:
return f"No tengo sugerencias específicas para {num_jugadores} jugadores en este momento."
# Ejemplo de uso
jugadores1 = 3
sugerencia1 = sugerir_juego_o_actividad(jugadores1)
print(sugerencia1)
jugadores2 = 1
sugerencia2 = sugerir_juego_o_actividad(jugadores2)
print(sugerencia2)
jugadores3 = 7
sugerencia3 = sugerir_juego_o_actividad(jugadores3)
print(sugerencia3)
jugadores4 = 0
sugerencia4 = sugerir_juego_o_actividad(jugadores4)
print(sugerencia4)
jugadores5 = 2
sugerencia5 = sugerir_juego_o_actividad(jugadores5)
print(sugerencia5)
Explicación del Código:
-
import random
:
- Importa el módulo
random
para poder elegir una sugerencia aleatoria de la lista asociada al
número de jugadores.
-
def
sugerir_juego_o_actividad(num_jugadores):
:
- Define una función llamada
sugerir_juego_o_actividad
que toma el número de jugadores (num_jugadores
)
como argumento.
-
"""Docstring..."""
:
- La cadena de documentación explica la
función, su argumento y lo que devuelve.
-
sugerencias_por_jugadores =
{...}
:
- Se crea un diccionario llamado
sugerencias_por_jugadores
. Las claves son el número de jugadores
(o la cadena "muchos") y los valores son listas de juegos de mesa o
actividades que suelen ser adecuadas para ese número de personas.
-
if num_jugadores in
sugerencias_por_jugadores:
:
- Se verifica si el
num_jugadores
proporcionado por el usuario existe como clave en el diccionario.
-
sugerencia =
random.choice(sugerencias_por_jugadores[num_jugadores])
:
- Si el número de jugadores se encuentra en
el diccionario, se elige aleatoriamente una sugerencia de la lista
asociada a ese número.
-
elif num_jugadores > 6:
:
- Si el número de jugadores es mayor que 6,
se utiliza la lista de sugerencias para "muchos" jugadores.
-
elif num_jugadores <= 0:
:
- Se maneja el caso de un número de
jugadores no válido.
-
else:
:
- Se maneja cualquier otro número de
jugadores para el que no haya una sugerencia específica.
-
return f"Para {num_jugadores}
jugadores, te sugiero probar: ¡{sugerencia}!"
(y otros mensajes
similares):
- Se devuelve un mensaje con la sugerencia
del juego o actividad para el número de jugadores dado.