-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
import random
def mezclar(lista_original, lista_mezclada=[]):
"""
Función recursiva para mezclar una lista de forma aleatoria.
Usa algoritmo de mezcla Fisher-Yates
Args:
lista_original (list): La lista original que queremos mezclar.
lista_mezclada (list, opcional): La lista que contiene los elementos mezclados.
Por defecto, es una lista vacía.
Returns:
list: La lista original mezclada de forma aleatoria.
"""
if len(lista_original) == 0:
return lista_mezclada
posicion_aleatoria = random.randint(0, len(lista_original) - 1)
elemento_seleccionado = lista_original.pop(posicion_aleatoria)
nueva_lista_mezclada = lista_mezclada + [elemento_seleccionado]
return mezclar(lista_original, nueva_lista_mezclada)
# Ejemplo de uso:
lista_original = [1, 2, 3, 4, 5]
lista_mezclada = mezclar(lista_original)
print(lista_mezclada)jnfire
Metadata
Metadata
Assignees
Labels
No labels