Menu
CoddyTech

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: 1

Le 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.

challenge icon

Défi

Facile

Le 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
quiz iconTestez-vous

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

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