1 usuario conectado

Sugerir un plan para la noche en Python

Comparte esto

 
Escribe un código Python que tome tu estado de ánimo ("feliz", "triste", "cansado", "aburrido", "animado") y te sugiera una actividad para hacer por la noche en España.

.


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Sugerir un plan para la noche

📋 Copiar código


import random

def sugerir_plan_noche_espanol(estado_animo):
  """
  Toma el estado de ánimo del usuario y sugiere una actividad para hacer por la noche en España.

  Args:
    estado_animo: El estado de ánimo del usuario (cadena de texto).

  Returns:
    Un mensaje (cadena de texto) con la sugerencia de la actividad.
  """
  planes_por_animo = {
      "feliz": ["Salir a tomar unas tapas con amigos", "Ir a un concierto o espectáculo", "Dar un paseo por el centro", "Organizar una noche de juegos en casa"],
      "triste": ["Ver una película tranquila en casa", "Escuchar música relajante", "Leer un buen libro", "Hablar con un amigo cercano"],
      "cansado": ["Quedarse en casa y tener una noche de relax", "Ver una serie o película en el sofá", "Dormir temprano", "Tomar un baño caliente"],
      "aburrido": ["Buscar un evento interesante cerca", "Probar un nuevo restaurante o bar", "Empezar un nuevo hobby o proyecto", "Jugar a videojuegos con amigos online"],
      "animado": ["Ir a bailar", "Salir de fiesta con amigos", "Asistir a un evento deportivo", "Tener una conversación interesante en un bar"]
  }

  animo_lower = estado_animo.lower()
  if animo_lower in planes_por_animo:
    plan_sugerido = random.choice(planes_por_animo[animo_lower])
    return f"Ya que te sientes '{estado_animo}', te sugiero para esta noche: ¡{plan_sugerido}!"
  else:
    return f"No tengo una sugerencia específica para el estado de ánimo '{estado_animo}'. ¡Quizás simplemente haz lo que te apetezca!"

# Ejemplo de uso
animo1 = "feliz"
plan1 = sugerir_plan_noche_espanol(animo1)
print(plan1)

animo2 = "cansado"
plan2 = sugerir_plan_noche_espanol(animo2)
print(plan2)

animo3 = "sorprendido"
plan3 = sugerir_plan_noche_espanol(animo3)
print(plan3)

animo4 = "ABURRIDO"
plan4 = sugerir_plan_noche_espanol(animo4)
print(plan4)

Explicación del Código:

  1. import random:

    • Importa el módulo random para poder elegir una actividad aleatoria de la lista asociada al estado de ánimo.
  2. def sugerir_plan_noche_espanol(estado_animo)::

    • Define una función llamada sugerir_plan_noche_espanol que toma el estado de ánimo del usuario (estado_animo) como argumento.
  3. """Docstring...""":

    • La cadena de documentación explica la función, su argumento y lo que devuelve.
  4. planes_por_animo = {...}:

    • Se crea un diccionario llamado planes_por_animo. Las claves son diferentes estados de ánimo (en minúsculas) y los valores son listas de posibles actividades para hacer por la noche en España que podrían encajar con ese estado de ánimo.
  5. animo_lower = estado_animo.lower():

    • Se convierte el estado_animo a minúsculas para que la búsqueda en el diccionario sea insensible a mayúsculas y minúsculas.
  6. if animo_lower in planes_por_animo::

    • Se verifica si el animo_lower existe como clave en el diccionario planes_por_animo.
  7. plan_sugerido = random.choice(planes_por_animo[animo_lower]):

    • Si el estado de ánimo se encuentra en el diccionario, se elige aleatoriamente un plan de la lista asociada a ese estado de ánimo utilizando random.choice().
  8. return f"Ya que te sientes '{estado_animo}', te sugiero para esta noche: ¡{plan_sugerido}!":

    • Se devuelve un mensaje sugiriendo la actividad aleatoria encontrada.
  9. else::

    • Si el estado de ánimo no se encuentra en el diccionario.
  10. return f"No tengo una sugerencia específica para el estado de ánimo '{estado_animo}'. ¡Quizás simplemente haz lo que te apetezca!":

    • Se devuelve un mensaje indicando que no se encontró una sugerencia específica para ese estado de ánimo.

     

  11. Ejemplo de uso:

    • Se definen varios estados de ánimo y se llama a la función sugerir_plan_noche_espanol con cada uno para obtener una sugerencia de plan para la noche.