Chercheur de motifs
Fait partie de la section Fondamentaux du Journey GDScript de Coddy. Leçon 91 sur 92.
Défi
MoyenÉcris la fonction find_occurrences au-dessus de _ready(). Elle :
- Prend deux chaînes :
textetpattern - Compte le nombre de fois où
patternapparaît danstext, y compris les occurrences qui se chevauchent - Renvoie un tableau de trois éléments :
truesi le motif a été trouvé,falsesinon- Le nombre d’occurrences
- Un tableau contenant la position de départ de chaque occurrence
Par exemple, si text vaut "abababab" et pattern vaut "aba", la fonction renvoie [true, 3, [0, 2, 4]], car "aba" commence aux positions 0, 2 et 4.
Si le motif n’est pas trouvé, renvoie [false, 0, []].
La fonction _ready() fournie lit les deux chaînes, appelle ta fonction et affiche le résultat. Remplace pass par le corps de la fonction.
Essayez vous-même
extends Node
func find_occurrences(text, pattern):
# Écrivez votre code ici
pass
func _ready():
var text := OS.read_string_from_stdin()
var pattern := OS.read_string_from_stdin()
# Appelez la fonction et affichez le résultat
var result = find_occurrences(text, pattern)
print(result)
Toutes les leçons de Fondamentaux
4Opérateurs, partie 1
Opérateurs arithmétiquesDivision entièreOpérateur moduloRaccourcis arithmétiquesRécapitulatif – calculs simplesOpérateurs de comparaison7Entrées/sorties de base
SortieSortie avec des variablesFormatage des chaînesEntréeConversion de typeRécapitulatif - Jusqu’à 120Récapitulatif - Vrai ou faux10Fonctions
Déclarer une fonctionArgumentsValeur de retourTypes de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de l’addition
Message de bienvenueSaisie des données11FizzBuzz avec une touche originale
Présentation du jeuLa fonction FizzBuzz14Tableaux : notions avancées
Découpage des tableauxOpérateurs de séquenceAppartenanceTrier et inverser3Variables, partie 2
Déclaration de typeInférence de typeConstantesRécapitulatif - Initialiser les variablesConversion de type6Prise de décision
Instruction ifIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésInstruction match9Boucles
Boucle forBoucle whileBreakContinueRécapitulatif - FactorielleLa fonction rangeBoucle imbriquéeRécapitulatif - Saisie dynamiqueEntraînez-vous par vous-même : Compilateur GDScript en ligne