Boucle imbriquée
Fait partie de la section Fondamentaux du Journey GDScript de Coddy. Leçon 49 sur 92.
Une boucle imbriquée est une boucle à l’intérieur d’une autre boucle. À chaque itération de la boucle externe, la boucle interne exécute toutes ses itérations :
for i in range(3):
print("Outer: ", i)
for j in range(2):
print(" Inner: ", j)Outer: 0
Inner: 0
Inner: 1
Outer: 1
Inner: 0
Inner: 1
Outer: 2
Inner: 0
Inner: 1Le bloc interne est indenté de deux niveaux. Il s’exécute 3 x 2 = 6 fois au total.
Les deux boucles ont besoin de noms de variables différents. Écrire for i à l’intérieur d’un autre for i est une erreur, signalée avant l’exécution du programme.
Les boucles imbriquées sont utiles pour parcourir des lignes et des colonnes. print() termine toujours la ligne. Pour afficher une ligne d’astérisques, construis-la d’abord dans une chaîne, puis affiche-la une fois la boucle interne terminée :
for row in range(2):
var line := ""
for col in range(3):
line += "*"
print(line)***
***La boucle externe s’exécute une fois par ligne, et la boucle interne ajoute une étoile par colonne. Un break à l’intérieur de la boucle interne arrête uniquement la boucle interne : la boucle externe poursuit avec l’itération suivante.
Défi
FacileLe programme lit deux nombres entiers : rows et cols.
Utilise des boucles imbriquées pour afficher un rectangle d’astérisques (*) comportant rows lignes et cols astérisques par ligne.
Pour les entrées 3 et 4, la sortie est :
****
****
****Essayez vous-même
extends Node
func _ready():
var rows := int(OS.read_string_from_stdin())
var cols := int(OS.read_string_from_stdin())
# Boucle externe : une itération par ligne
# Boucle interne : ajoute une étoile par colonne
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
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