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があるのが見えるでしょう。これは「何もしない」という意味のPythonキーワードで、Pythonでインデントされたコードブロック(関数の中など)が必要な場合に、プレースホルダーとして使用されます。passを実際の関数コードに置き換えてください。

自分で試してみよう

def find_occurrences(text, pattern):
    # ここにコードを書いてください
    pass

# 入力を読み取る
text = input()
pattern = input()

# 関数を呼び出して結果を出力する
result = find_occurrences(text, pattern)
print(result)

基礎のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ