Menu
CoddyTech

パターン・ファインダー

CoddyのPythonジャーニー「基礎」セクションの一部。レッスン 76/77。

challenge icon

チャレンジ

中級

find_occurrencesという名前の関数を作成してください。この関数は次の処理を行います。

  1. 2つの文字列引数textとpatternを受け取る
  2. text内にpatternが何回現れるかを、重複して重なる出現も含めて数える
  3. 次の内容を含むタプルを返す
    • パターンが見つかったかどうかを示すブール値(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オンラインコンパイラ