Espinear textos con Python (FÁCIL)

Si tenemos un texto en formato “spin”  queremos transformarlo en texto normal este código en python nos hará el trabajo.

 """Ejemplo Texto Spin:

    Hola {mi nombre|me llamo|soy} {Antonio|Toni|Juan} y me gustan {los coches|las motos|los caballos}
    
    """


def spin(content):
   
    start = content.find('{')
    end = content.find('}')

    if start == -1 and end == -1:
        #none left
        return content
    elif start == -1:
        return content
    elif end == -1:
        raise "unbalanced brace"
    elif end < start:
        return content
    elif start < end:
        rest = spin(content[start+1:])
        end = rest.find('}')
        if end == -1:
            raise "unbalanced brace"
        return content[:start] + random.choice(rest[:end].split('|')) + spin(rest[end+1:])

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *