Menu
Coddy logo textTech

単語分析

CoddyのPythonジャーニー「Logic & Flow」セクションの一部 — レッスン 77/78。

challenge icon

チャレンジ

難しい

テキスト文字列内の単語を分析する analyze_text という名前の関数を作成してください。

関数は以下の処理を行う必要があります:

  1. ユニークな単語の数を数える(大文字と小文字を区別しない)
  2. 2回以上出現するすべての単語を見つける
  3. すべての回文("level" のように、前から読んでも後ろから読んでも同じになる単語)を特定する

以下の3つのキーを持つ辞書を返してください:

  • unique_count: ユニークな単語の数(繰り返される単語もそれぞれ1回としてカウントします)
  • repeated_words: 2回以上出現する単語のアルファベット順にソートされたリスト
  • palindromes: 回文である単語のアルファベット順にソートされたリスト

注意点:

  • 単語は大文字と小文字を区別せずに扱います(例: "Hello" と "hello" は同じ単語です)
  • 単語から句読点 (.,!?:;"()) を取り除いてください
  • repeated_wordspalindromes の両方のリストをアルファベット順にソートしてください

入力例:

"Madam saw a racecar. Dad said hello hello to mom."

期待される出力:

{
    'unique_count': 9,
    'repeated_words': ['hello'],
    'palindromes': ['a', 'dad', 'madam', 'mom', 'racecar']
}

自分で試してみよう

def analyze_text(text):
    # ここに解答を記述してください
    
    # 1. テキストを単語に分割し、正規化する
    # (小文字に変換し、句読点を除去する)
    
    # 2. 各単語の出現回数をカウントする
    
    # 3. ユニークな単語の数を見つける
    
    # 4. 重複している単語(2回以上出現するもの)を特定する
    
    # 5. 回文になっている単語を見つける
    
    # 6. ソートされたリストを含む辞書形式で結果を返す
    pass

Logic & Flowのすべてのレッスン