.
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:
-
import random
:
- Importa el módulo
random
para poder elegir una actividad aleatoria de la lista asociada al estado
de ánimo.
-
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.
-
"""Docstring..."""
:
- La cadena de documentación explica la
función, su argumento y lo que devuelve.
-
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.
-
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.
-
if animo_lower in
planes_por_animo:
:
- Se verifica si el
animo_lower
existe como clave en el diccionario planes_por_animo
.
-
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()
.
-
return f"Ya que te sientes '{estado_animo}',
te sugiero para esta noche: ¡{plan_sugerido}!"
:
- Se devuelve un mensaje sugiriendo la
actividad aleatoria encontrada.
-
else:
:
- Si el estado de ánimo no se encuentra en
el diccionario.
-
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.
-
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.