我试着做一个单词搜索解决器,我不是一个程序员,但我使用python在日常工作中自动完成一些小任务:)在这种情况下,我想给祖母一个惊喜,让她知道计算机可以自动解决她的报纸单词搜索,这是4x4,可以任意方向移动到附近的单元格(不仅是对角线、垂直和水平的,如果单元格是有效的),这是我做的代码。
到目前为止,我已经找到了与字母相匹配的单词,但是我不知道如何教你只拿那些附近有细胞的单词,我真的很感谢你的帮助。
注意:文件"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()发布于 2020-03-05 10:00:08
如果将字段定义为数组(为说明目的而牺牲的正确格式):
field= [
[
[entry1],[entry2],[entry3]
],[
[entry4],[entry5],[entry6]
],[
[entry7],[entry8],[entry9]
]
]你的领域将像这样组织起来:
[0][0] | [0][1] | [0][2]
------------------------
[1][0] | [1][1] | [2][2]
------------------------
[2][0] | [2][1] | [2][2]因此,与field[m][n]相邻的单元可以由
i = m-1
while i < m+1 :
j=n-1
while j < n+1:
if (i = m && j = n):
continue #skip the cell itself
doSomething(field[i][j])
j = j+1
i = i+1https://stackoverflow.com/questions/60537725
复制相似问题