Python 在单词搜索中使用递归查找单词
通过在单词搜索中查找单词,我对python3有了一些乐趣。我知道我可以很容易地用循环来实现这一点,但是,我对递归不太了解,我真的想知道如何用这种方式实现它 我首先在单词搜索中创建一个二维行列表,并将该列表称为“方形”。我创建了另一个我正在寻找的单词列表,称为“单词”(为了简单起见,让我们假设只有一个单词) 我将使用递归函数来处理单词可以到达的每个方向,并在每个函数中运行单词,如果找到,则返回True,如果没有,则返回False 这是第一个功能:Python 在单词搜索中使用递归查找单词,python,list,function,recursion,wordsearch,Python,List,Function,Recursion,Wordsearch,通过在单词搜索中查找单词,我对python3有了一些乐趣。我知道我可以很容易地用循环来实现这一点,但是,我对递归不太了解,我真的想知道如何用这种方式实现它 我首先在单词搜索中创建一个二维行列表,并将该列表称为“方形”。我创建了另一个我正在寻找的单词列表,称为“单词”(为了简单起见,让我们假设只有一个单词) 我将使用递归函数来处理单词可以到达的每个方向,并在每个函数中运行单词,如果找到,则返回True,如果没有,则返回False 这是第一个功能: def down(word, square):
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
此函数将尝试在二维列表中查找单词的第一个字母,然后检查在正方形的每个后续行中找到第一个字母的位置,以查看是否找到单词的其余部分
我不能让函数通过整个二维列表中每个一维列表的第一个字母,任何帮助都将不胜感激
谢谢 为了学习递归,我建议用笔和纸来掌握解决方案的流程,然后在编写代码后,如果事情没有按预期进行,则进行一些调试打印。如果你知道在任何一个给定的步骤中应该发生什么,通过一些小的例子,你会更容易把它弄对