.
Solución al Ejercicio: Sugerir género musical
📋 Copiar código
import random
def sugerir_artista_por_genero(genero_musical):
"""
Toma un género musical y sugiere aleatoriamente un artista o banda popular de ese género.
Args:
genero_musical: El género musical (cadena de texto).
Returns:
Un mensaje (cadena de texto) con la sugerencia del artista o banda.
"""
artistas_por_genero = {
"pop": ["Rosalía", "Ed Sheeran", "Dua Lipa", "Taylor Swift", "Harry Styles"],
"rock": ["The Rolling Stones", "Queen", "Arctic Monkeys", "Red Hot Chili Peppers", "Héroes del Silencio"],
"clásica": ["Ludwig van Beethoven", "Wolfgang Amadeus Mozart", "Johann Sebastian Bach", "Frédéric Chopin", "Clara Schumann"],
"jazz": ["Miles Davis", "Ella Fitzgerald", "John Coltrane", "Nina Simone", "Louis Armstrong"],
"electrónica": ["David Guetta", "Calvin Harris", "Kygo", "Peggy Gou", "Fatboy Slim"]
}
genero_lower = genero_musical.lower()
if genero_lower in artistas_por_genero:
artista_sugerido = random.choice(artistas_por_genero[genero_lower])
return f"Si te apetece '{genero_musical}', quizás te guste escuchar a: ¡{artista_sugerido}!"
else:
return f"No tengo muchas sugerencias para el género '{genero_musical}' en mi lista. ¡Quizás puedas explorar plataformas de música online!"
# Ejemplo de uso
genero1 = "pop"
artista1 = sugerir_artista_por_genero(genero1)
print(artista1)
genero2 = "rock"
artista2 = sugerir_artista_por_genero(genero2)
print(artista2)
genero3 = "blues"
artista3 = sugerir_artista_por_genero(genero3)
print(artista3)
genero4 = "CLASICA"
artista4 = sugerir_artista_por_genero(genero4)
print(artista4)
Explicación del Código:
-
import random
:
- Importa el módulo
random
para poder elegir un artista o banda aleatoria de la lista asociada al
género musical.
-
def
sugerir_artista_por_genero(genero_musical):
:
- Define una función llamada
sugerir_artista_por_genero
que toma el género musical (genero_musical
)
como argumento.
-
"""Docstring..."""
:
- La cadena de documentación explica la
función, su argumento y lo que devuelve.
-
artistas_por_genero = {...}
:
- Se crea un diccionario llamado
artistas_por_genero
. Las claves son géneros musicales (en
minúsculas) y los valores son listas de artistas o bandas populares
dentro de ese género.
-
genero_lower =
genero_musical.lower()
:
- Se convierte el
genero_musical
a minúsculas para que la búsqueda en el diccionario sea insensible a
mayúsculas y minúsculas.
-
if genero_lower in
artistas_por_genero:
:
- Se verifica si el
genero_lower
existe como clave en el diccionario artistas_por_genero
.
-
artista_sugerido =
random.choice(artistas_por_genero[genero_lower])
:
- Si el género se encuentra en el
diccionario, se elige aleatoriamente un artista o banda de la lista
asociada a ese género utilizando
random.choice()
.
-
return f"Si te apetece '{genero_musical}',
quizás te guste escuchar a: ¡{artista_sugerido}!"
:
- Se devuelve un mensaje sugiriendo el
artista o banda aleatoria encontrada.
-
else:
:
- Si el género no se encuentra en el
diccionario.
-
return f"No tengo muchas
sugerencias para el género '{genero_musical}' en mi lista. ¡Quizás puedas
explorar plataformas de música online!"
:
- Se devuelve un mensaje indicando que no
se encontraron sugerencias para ese género en la lista.
-
Ejemplo de uso:
- Se definen varios géneros musicales y se
llama a la función
sugerir_artista_por_genero
con cada uno
para obtener una sugerencia de artista o banda.