# 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
To embed this project on your website, copy the following code and paste it into your website's HTML: