通过尝试在单词搜索中查找单词,我对python3有一点乐趣。我知道我可以轻松地用循环来做这个,但我不太了解递归,我真的想知道如何这样做。
我首先在单词搜索中创建一个行的二维列表,并将该列表称为“square”。我创建了另一个我正在寻找的单词单词列表“单词”(为了简单起见,我们假装只有一个单词)。
我将对每个方向使用递归函数并在每个函数中运行单词,如果找到则返回True,如果不是则返回False。
这是第一个功能:
def down(word, square):
if (len(word)==0):
return True
elif (len(square)==0):
print(square)
return False
else:
if word[:1]==square[0][:1]:
return down(word[1:], square[1:])
elif (word[:1]!=square[0][:1]):
print(square)
return down(word, square[1:][1:])
else:
return False
此函数将尝试在二维列表中找到该单词的第一个字母,然后检查在该正方形的每个后续行中找到第一个字母的相同位置,以查看该单词的其余部分是否已找到。
我无法让功能超越整个二维列表中每个一维列表的第一个字母,我们将非常感谢任何协助。
谢谢!