Menu
CoddyTech

Analyse de mots

Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 77 sur 78.

challenge icon

Défi

Difficile

Écris la fonction analyze_text(text) au-dessus de _ready(). Elle analyse les mots d’un texte et renvoie un dictionnaire. La fonction _ready() fournie lit une ligne de texte, appelle ta fonction et affiche le résultat.

Prépare d’abord les mots :

  • Les mots ne tiennent pas compte de la casse : Hello et hello sont le même mot, donc travaille en minuscules
  • Supprime ces caractères du texte : . , ! ? : ; " ( )
  • Les mots sont séparés par des espaces, et un texte vide ne contient aucun mot

Renvoie un dictionnaire avec trois clés, dans cet ordre :

  • "unique_count" : le nombre de mots différents
  • "repeated_words" : un tableau des mots qui apparaissent plus d’une fois
  • "palindromes" : un tableau des mots différents qui se lisent de la même façon à l’envers, comme level ou a

Chaque mot apparaît une seule fois dans un tableau, et les deux tableaux sont triés par ordre alphabétique. Pour le texte ci-dessous :

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

le résultat est :

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

Essayez vous-même

extends Node

func analyze_text(text: String):
	# Écrivez votre code ici
	pass


func _ready():
	var text := OS.read_string_from_stdin()
	print(analyze_text(text))

Toutes les leçons de Logique et flux d’exécution

Entraînez-vous par vous-même : Compilateur GDScript en ligne