Я пытаюсь найти решение для поиска слов, я не программист, но я использую python для автоматизации небольших задач в повседневной жизни :) В этом случае я хочу удивить бабушку, показав ей, что компьютер может автоматически найти поиск по слову в газете, это 4x4 и может быть перемещено в любом направлении к соседним ячейкам (не только диагональ, вертикаль и горизонталь, если ячейка близка, допустимо). Это код, который я сделал
До сих пор мне удалось найти слова, которые соответствуют буквам, но я не знаю, как научить вас брать только то, что имеет соседние клетки, я был бы очень признателен за вашу помощь
примечание: file "twl06.txt" - это просто словарь со словами.
Обновление: я имею в виду, что с соседними ячейками слова не образуются в виде простых прямых линий, поскольку они действительны, когда ячейка находится рядом с ней
#For example: niosijmcyhtedfio
palabra2=input("Insertar letras: ")
print ("")
print ("")
f=open("twl06.txt")
libro=f.read()
print ((palabra2[0]), (""),(palabra2[1]), (""),(palabra2[2]), (""),(palabra2[3]))
print ((palabra2[4]), (""),(palabra2[5]), (""),(palabra2[6]), (""),(palabra2[7]))
print ((palabra2[8]), (""),(palabra2[9]), (""),(palabra2[10]), (""),(palabra2[11]))
print ((palabra2[12]), (""),(palabra2[13]), (""),(palabra2[14]), (""),(palabra2[15]))
print ("")
print ("")
#palabra2 es con repeticiones
#palabra es sin repeticiones
palabra = ("".join(set(palabra2)))
comparacion = []
with open("twl06.txt") as f:
for line in f:
lista1 = (list(palabra))
lista2 = (list(line.rstrip('\n')))
comparacion = []
for item in lista1:
if item in lista2:
comparacion.append(item)
if len(comparacion) == 3:
if (len(lista2)) == 3:
print (" ".join(str(x) for x in lista2))
comparacion = []
if len(comparacion) == 4:
if (len(lista2)) == 4:
print (" ".join(str(x) for x in lista2))
comparacion = []
if len(comparacion) == 5:
if (len(lista2)) == 5:
print (" ".join(str(x) for x in lista2))
comparacion = []
if len(comparacion) == 6:
if (len(lista2)) == 6:
print (" ".join(str(x) for x in lista2))
comparacion = []
if len(comparacion) == 7:
if (len(lista2)) == 7:
print (" ".join(str(x) for x in lista2))
comparacion = []
f.close()