Menu
Coddy logo textTech

パターン・ファインダー

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

challenge icon

チャレンジ

中級

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

  1. 2つの文字列引数 textpattern を受け取ります。
  2. 重複する出現を含め、text 内に pattern が何回出現するかをカウントします。
  3. 以下の内容を含むタプルを返します:
    • パターンが見つかったかどうかを示すブール値 (True/False)
    • パターンの出現回数
    • パターンが見つかった開始位置のリスト

例えば、text が "abababab" で pattern が "aba" の場合、"aba" は位置 0、2、4 に出現するため、関数は (True, 3, [0, 2, 4]) を返す必要があります。

パターンが見つからない場合は、(False, 0, []) を返します。

pass キーワードについて: デフォルトのコードに pass が含まれています。これは「何もしない」ことを意味する Python のキーワードで、関数内などのインデントされたコードブロックが必要な場所でプレースホルダーとして使用されます。pass を実際の関数のコードに置き換えてください。

自分で試してみよう

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

# 入力を読み込む
text = input()
pattern = input()

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

Fundamentalsのすべてのレッスン