0

通过尝试在单词搜索中查找单词,我对 python3 有一点乐趣。我知道我可以很容易地用循环来做到这一点,但是我不太了解递归,我真的很想知道如何做到这一点。

我首先在单词搜索中创建了一个二维行列表,并将该列表称为“正方形”。我创建了另一个我正在寻找的单个单词的列表,称为“单词”(为了简单起见,我们假设只有一个单词)。

我将为一个单词可以运行的每个方向使用递归函数,并在每个函数中运行该单词,如果找到则返回 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

此函数将尝试在二维列表中找到单词的第一个字母,然后检查在正方形的每个后续行中找到第一个字母的相同位置,以查看是否找到了单词的其余部分。

我无法让函数越过整个二维列表中每个一维列表的第一个字母,任何帮助将不胜感激。

谢谢!

4

0 回答 0