0

単語検索で単語を見つけようとすることで、python3 を少し楽しんでいます。ループでこれを簡単に実行できることは知っていますが、再帰についてはよく知らないので、この方法でそれを行う方法を本当に知りたいです。

まず、単語検索で行の 2 次元リストを作成し、そのリストを "square" と呼びます。「単語」と呼ばれる、探している個々の単語の別のリストを作成しました (簡単にするために、単語が 1 つだけであると仮定します)。

単語が進む方向ごとに再帰関数を使用し、各関数で単語を実行し、見つかった場合は 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

この関数は、2 次元リスト内の単語の最初の文字を見つけようとし、次に、正方形の後続の各行で最初の文字が見つかった同じ位置をチェックして、残りの単語が見つかったかどうかを確認します。

全体的な 2-D リスト内の各 1-D リストの最初の文字を超える関数を取得できません。サポートをいただければ幸いです。

ありがとう!

4

0 に答える 0