パターン・ファインダー
CoddyのPythonジャーニー「基礎」セクションの一部。レッスン 76/77。
チャレンジ
中級find_occurrencesという名前の関数を作成してください。この関数は次の処理を行います。
- 2つの文字列引数
textとpatternを受け取る text内にpatternが何回現れるかを、重複して重なる出現も含めて数える- 次の内容を含むタプルを返す
- パターンが見つかったかどうかを示すブール値(True/False)
- パターンの出現回数
- パターンが見つかった開始位置のリスト
たとえば、textが"abababab"で、patternが"aba"の場合、"aba"は位置0、2、4に現れるため、関数は(True, 3, [0, 2, 4])を返します。
パターンが見つからない場合は、(False, 0, [])を返してください。
入力の読み取りと関数の呼び出しは自動で行われます。
passキーワードについて:デフォルトのコードにはpassが含まれています。これは「do nothing」を意味するPythonのキーワードで、Pythonでインデントされたコードブロック(関数の中など)が必要な場合に、プレースホルダーとして使われます。passを実際の関数コードに置き換えてください。
自分で試してみよう
def find_occurrences(text, pattern):
# ここにコードを書いてください
pass
基礎のすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ