Skip to content

Andros - Reto para el 30 de abril 2024 #3

@tanrax

Description

@tanrax
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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions