Xestor de Playlist Musical
- Duración:
- 50 min
- Agrupamento:
- 2
Ides crear unha playlist con 10 cancións, cada unha con:
- Nome da canción (lista de nomes ficticios).
- # Lista de cancións ficticias
cancions = np.array(["Ritmo Urbano", "Vento do Norte", "Noite Estrelada", "Eco e Son", "Ondas Salgadas","Viaxe Sen Fin", "Luz Interior", "Esfera Musical", "Voces do Futuro", "Aurora Mística"])
- # Lista de cancións ficticias
- Duración en minutos (valores aleatorios entre 2.5 e 5.5 minutos) co método random.uniform
- # Duracións aleatorias entre 2.5 e 5.5 minutos
duracions = np.round(np.random.uniform(2.5, 5.5, size=10), 2)
- # Duracións aleatorias entre 2.5 e 5.5 minutos
- Número de reproducións (valores aleatorios entre 100 e 5000) co método random.randit
- # Número de reproducións aleatorias entre 100 e 5000
reproducions = np.random.randint(100, 5001, size=10)
- # Número de reproducións aleatorias entre 100 e 5000
Tarefas:
- Extraer as 5 primeiras cancións da lista (slicing).
- Extraer só as cancións con duracións superiores a 4 minutos.(filtrado)
- Ordenar as cancións segundo o número de reproducións.( co método sort)⇒ reproducions_ordenadas = np.sort(reproducions)
- Mostrar a canción que máis se escoitou.⇒ usamos max() para atopar o maior número e list().index() para atopar a súa posición na lista
maior_reproducion = max(reproducions)# Obtén o maior número
posicion_maior = list(reproducions).index(maior_reproducion) # Atopa a posición
cancion_top = cancions[posicion_maior] # Usa a posición para atopar a canción
print(f"\nA canción máis escoitada é: {cancion_top} ")
Lembra:A IA está para axudarche, pregúntalle!
Exemplo de resultado esperado
| Exemplo de resultado esperado |
|
Playlist musical: Primeiras 5 cancións da playlist: Cancións con duración superior a 4 minutos: Números de reproducións ordenados: A canción máis escoitada é: Noite Estrelada |
O método random.uniform en NumPy úsase para xerar números decimais aleatorios dentro dun rango específico.
A súa sintaxe básica é:
np.random.uniform(inicio, fin, tamaño)
Explicación:
inicio: Valor mínimo (incluído).
fin: Valor máximo (incluído).
tamaño (opcional): Número de valores que queremos xerar (pode ser un único número ou unha matriz).
Exemplos:
import numpy as np
# Xerar un número aleatorio entre 1.0 e 10.0
numero = np.random.uniform(1.0, 10.0)
print("Número aleatorio:", numero)
# Xerar unha matriz de 3x3 con valores entre 0.0 e 100.0
matriz = np.random.uniform(0.0, 100.0, (3, 3))
print("Matriz de números aleatorios:") print(matriz)
Útil para simulacións, estatísticas e modelos que requiren valores continuos e non enteiros
O método randint en NumPy xérase números enteiros aleatorios dentro dun rango específico.
A súa sintaxe básica é:
np.random.randint(inicio, fin, tamaño)
Explicación:
inicio: Número mínimo (incluído).
fin: Número máximo (non incluído).
tamaño (opcional): Número de valores que queremos xerar.
Exemplos:
import numpy as np
# Xerar un número aleatorio entre 1 e 10
numero = np.random.randint(1, 10)
print("Número aleatorio:", numero)
# Xerar unha matriz de 3x3 con valores entre 0 e 100
matriz = np.random.randint(0, 100, (3, 3))
print("Matriz de números aleatorios:")
print(matriz)
Código Python: Xestor de playlist
import numpy as np
# Lista de cancións ficticias
cancions = np.array(["Ritmo Urbano", "Vento do Norte", "Noite Estrelada", "Eco e Son", "Ondas Salgadas",
"Viaxe Sen Fin", "Luz Interior", "Esfera Musical", "Voces do Futuro", "Aurora Mística"])
# Duracións aleatorias entre 2.5 e 5.5 minutos
duracions = np.round(np.random.uniform(2.5, 5.5, size=10), 2)
# Número de reproducións aleatorias entre 100 e 5000
reproducions = np.random.randint(100, 5001, size=10)
# Mostrar a playlist completa
print("Playlist musical:")
for i in range(len(cancions)):
print(f"{cancions[i]} - {duracions[i]} min - {reproducions[i]} reproducións")
# 1. Extraer as 5 primeiras cancións (slicing)
primeiras_cancions = cancions[:5]
print("\nPrimeiras 5 cancións da playlist:")
print(primeiras_cancions)
# 2. Extraer cancións con duración superior a 4 minutos(filtrado)
longas_cancions = cancions[duracions > 4]
print("\nCancións con duración superior a 4 minutos:")
print(longas_cancions)
# 3. Ordenar cancións segundo número de reproducións
reproducions_ordenadas = np.sort(reproducions) # Ordenar de menor a maior
print("\nNúmeros de reproducións ordenados:")
print(reproducions_ordenadas)
# 4. Mostrar a canción con máis reproducións (buscando manualmente)
maior_reproducion = max(reproducions) # Obtén o maior número
posicion_maior = list(reproducions).index(maior_reproducion) # Atopa a posición
cancion_top = cancions[posicion_maior] # Usa a posición para atopar a canción
print(f"\nA canción máis escoitada é: {cancion_top}")