# Generar una sopa de letras basada en las palabras clave del texto proporcionado

import random

# Lista de palabras clave extraídas del texto
palabras_clave = [
    "Millennials", "BabyBoomers", "GeneracionesViajeras", "Viajes",
    "PrimeraInfancia", "Exterior", "Probabilidad", "Globalizacion",
    "Tecnologia", "Economia", "CulturaGlobal", "Intercambio",
    "Conectividad", "Frecuencia", "Destinos", "Tendencia"
]

# Crear la sopa de letras
def crear_sopa_letras(palabras, dimension=20):
    # Inicializar la sopa de letras con espacios vacíos
    sopa = [[' ' for _ in range(dimension)] for _ in range(dimension)]
    
    def colocar_palabra(sopa, palabra):
        direccion = random.choice(['H', 'V'])  # Horizontal o Vertical
        longitud_palabra = len(palabra)
        
        if direccion == 'H':
            fila = random.randint(0, dimension - 1)
            columna = random.randint(0, dimension - longitud_palabra)
            if all(sopa[fila][columna + i] in (' ', palabra[i]) for i in range(longitud_palabra)):
                for i in range(longitud_palabra):
                    sopa[fila][columna + i] = palabra[i]
                return True
        else:
            fila = random.randint(0, dimension - longitud_palabra)
            columna = random.randint(0, dimension - 1)
            if all(sopa[fila + i][columna] in (' ', palabra[i]) for i in range(longitud_palabra)):
                for i in range(longitud_palabra):
                    sopa[fila + i][columna] = palabra[i]
                return True
        return False

    for palabra in palabras:
        colocado = False
        while not colocado:
            colocado = colocar_palabra(sopa, palabra)
    
    # Rellenar los espacios vacíos con letras aleatorias
    for i in range(dimension):
        for j in range(dimension):
            if sopa[i][j] == ' ':
                sopa[i][j] = random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
    
    return sopa

# Crear la sopa de letras
sopa_letras = crear_sopa_letras(palabras_clave)

# Formatear la sopa de letras para impresión
sopa_letras_str = '\n'.join([' '.join(fila) for fila in sopa_letras])
sopa_letras_str

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: