1 usuario conectado

Sugerir juego de mesa en Python

Comparte esto

 
Escribe un código Python que tome el número de jugadores (un entero) y te sugiera aleatoriamente un juego de mesa o actividad que sea adecuada para ese número de personas.
.


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  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:

  1. import random:

    • Importa el módulo random para poder elegir una sugerencia aleatoria de la lista asociada al número de jugadores.
  2. 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.
  3. """Docstring...""":

    • La cadena de documentación explica la función, su argumento y lo que devuelve.
  4. 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.
  5. if num_jugadores in sugerencias_por_jugadores::

    • Se verifica si el num_jugadores proporcionado por el usuario existe como clave en el diccionario.
  6. 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.
  7. elif num_jugadores > 6::

    • Si el número de jugadores es mayor que 6, se utiliza la lista de sugerencias para "muchos" jugadores.
  8. elif num_jugadores <= 0::

    • Se maneja el caso de un número de jugadores no válido.
  9. else::

    • Se maneja cualquier otro número de jugadores para el que no haya una sugerencia específica.
  10. 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.