Boucles imbriquées
Fait partie de la section Fundamentals du Journey Python de Coddy — leçon 41 sur 77.
Une boucle imbriquée est une boucle à l'intérieur d'une autre boucle. La boucle interne termine toutes ses itérations pour chaque itération de la boucle externe.
Commençons par une boucle imbriquée simple pour comprendre le concept :
# Boucle extérieure
for i in range(3):
print(f"Outer loop iteration: {i}")
# Boucle intérieure
for j in range(2):
print(f" Inner loop iteration: {j}")Lorsque vous exécuterez ce code, vous verrez :
Outer loop iteration: 0
Inner loop iteration: 0
Inner loop iteration: 1
Outer loop iteration: 1
Inner loop iteration: 0
Inner loop iteration: 1
Outer loop iteration: 2
Inner loop iteration: 0
Inner loop iteration: 1Notez que pour chaque itération de la boucle externe, la boucle interne termine toutes ses itérations.
Voyons maintenant un exemple pratique - l'affichage d'un motif simple :
# Afficher un rectangle d'étoiles 2x3
for row in range(2): # 2 lignes
line = ""
for col in range(3): # 3 colonnes
line += "*"
print(line)
# Sortie :
# ***
# ***La boucle externe contrôle le nombre de lignes que nous affichons, et la boucle interne construit chaque ligne en ajoutant des étoiles.
Défi
FacileÉcrivez un code qui affiche un rectangle d'étoiles (*) en utilisant des boucles imbriquées.
Votre programme doit :
- Lire deux entiers :
rowsetcols - Utiliser une structure de boucles imbriquées pour afficher le motif
- La boucle externe doit itérer à travers chaque ligne
- La boucle interne doit construire chaque ligne avec le nombre correct d'étoiles
- Afficher chaque ligne terminée
Exemple : si l'entrée est 3 lignes et 4 colonnes, la sortie doit être :
****
****
****Aide-mémoire
Les boucles imbriquées sont des boucles à l'intérieur d'autres boucles :
for x in range(2):
for y in range(2):
print(x, y)
# Sortie :
# 0 0
# 0 1
# 1 0
# 1 1La boucle interne termine toutes ses itérations pour chaque itération de la boucle externe, de la même manière que l'aiguille des minutes d'une horloge effectue un cycle complet pour chaque heure.
Essayez vous-même
# Obtenir les entrées pour les lignes et les colonnes
rows = int(input())
cols = int(input())
# Écrivez vos boucles imbriquées ici
# Boucle externe pour les lignes
# Boucle interne pour les colonnesCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fundamentals
4Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage d'addition
Message de bienvenueSaisie des données10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables
NombresChaînes de caractèresBooléensConventions de nommageVariables videsRécapitulatif - Initialiser des variables8Boucles
Boucle ForBoucle WhileBreakContinueRécapitulatif - FactorielleLa fonction RangeBoucles imbriquéesRécapitulatif - Saisie dynamique3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6E/S de base
SortieSortie avec des variablesEntréeCastRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArgumentsRetourner une valeurRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut