単語分析
CoddyのGDScriptジャーニー「ロジックとフロー」セクションの一部。レッスン 77/78。
チャレンジ
難しい_ready()の上に関数analyze_text(text)を書きます。この関数はテキストの単語を分析し、辞書を返します。与えられた_ready()は1行のテキストを読み込み、あなたの関数を呼び出して結果を出力します。
まず単語を準備します。
- 単語では大文字と小文字を区別しません。
Helloとhelloは同じ単語なので、小文字にして処理します。 - テキストから次の文字を取り除きます:
. , ! ? : ; " ( ) - 単語はスペースで区切られ、空のテキストには単語がありません。
次の3つのキーをこの順序で持つ辞書を返します。
"unique_count": 異なる単語の数"repeated_words": 2回以上出現する単語の配列"palindromes": 逆から読んでも同じになる異なる単語の配列。たとえばlevelやaです。
各単語は配列に1回だけ現れ、両方の配列はアルファベット順に並べます。次のテキストの場合:
Madam saw a racecar. Dad said hello hello to mom.出力は次のとおりです。
{ "unique_count": 9, "repeated_words": ["hello"], "palindromes": ["a", "dad", "madam", "mom", "racecar"] }自分で試してみよう
extends Node
func analyze_text(text: String):
# ここにコードを書いてください
pass
func _ready():
var text := OS.read_string_from_stdin()
print(analyze_text(text))
ロジックとフローのすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ