-1
def find_word_horizontal(crosswords,word):
for rows in crosswords:
string=''.join(rows)
if word in string:
#finding index
row_index=crosswords.index(rows)
column_index=rows.index(word[0])
return [row_index,column_index ]
return None
def find_word_vertical(crosswords,word):
z=[list(i) for i in zip(*crosswords)]
for rows in z:
row_index = z.index(rows)
single_row = ''.join(rows)
column_index = single_row.find(word)
if column_index >= 0:
return([column_index, row_index])
def capitalize_word_in_crossword(crosswords,word):
if find_word_horizontal or find_word_vertical is not True:
result = []
for w in crosswords:
for l in w:
if l in word:
result.append(l.upper())
else:
result.append(l)
return result
#return [[l.upper() if l in word else l for l in w] for w in crosswords]
crosswords=[['s','d','o','g'],['c','u','c','m'],['a','c','a','t'],['t','e','t','k']]
word='cat'
print(capitalize_word_in_crossword(crosswords,word))
这是用于查找填字游戏中特定单词的代码。填字游戏中匹配字符的第一个实例大写
在这里我开发了两个辅助函数来查找水平和垂直词。如果同时发现水平和垂直匹配,则只有水平匹配才会返回,并将二维列表中的匹配字符大写并返回列表。例如,我在上面的代码应该打印:
[['s','d','o','g'],['c','u','c','m'],['a','C','A','T'],['t','e','t','k']]
如果没有找到匹配,这个函数返回原来的2维列表没有修改。
但我的代码返回['s','d','o','g','C','u','C','m','A','C','A','T','T','e','T','k']