Numérique et Sciences Informatiques > Langages de Programmation > Introduction à un Langage Spécifique (Python par exemple) > Structures de contrôle (if, for, while)
Structures de contrôle en Python : L'art de la décision et de la répétition
Comprendre et maîtriser les structures de contrôle if
, for
et while
en Python. Ce guide détaillé, spécialement conçu pour les lycéens, vous offre une approche claire et pratique pour apprendre à contrôler le flux d'exécution de vos programmes.
Introduction aux structures de contrôle
Les structures de contrôle sont des éléments fondamentaux de tout langage de programmation. Elles permettent de contrôler le flux d'exécution d'un programme, c'est-à-dire de déterminer quelles instructions doivent être exécutées et dans quel ordre. En Python, les principales structures de contrôle sont if
(pour les conditions), for
(pour les boucles bornées) et while
(pour les boucles non bornées). Elles permettent de rendre vos programmes plus dynamiques et interactifs, en réagissant à différentes situations ou en répétant des tâches.
La structure conditionnelle 'if'
La structure if
permet d'exécuter un bloc de code uniquement si une condition est vraie. La syntaxe de base est la suivante:
if condition:
# Bloc de code à exécuter si la condition est vraie
La condition
est une expression booléenne (qui évalue à True
ou False
). Si la condition est True
, le bloc de code indenté est exécuté. Sinon, il est ignoré.
Exemple:
age = 16
if age >= 18:
print("Vous êtes majeur.")
else:
print("Vous êtes mineur.")
L'instruction else
est facultative. Elle permet d'exécuter un autre bloc de code si la condition est fausse.
On peut également utiliser l'instruction elif
(contraction de 'else if') pour tester plusieurs conditions à la suite.
Exemple :
note = 15
if note >= 16:
print("Très bien")
elif note >= 14:
print("Bien")
elif note >= 12:
print("Assez bien")
else:
print("Insuffisant")
Important: L'indentation est cruciale en Python. Elle indique les blocs de code qui appartiennent à la structure if
.
La boucle 'for'
La boucle for
permet d'itérer sur une séquence (par exemple, une liste, un tuple, une chaîne de caractères) ou un itérable (par exemple, un range
). Elle exécute un bloc de code pour chaque élément de la séquence.
La syntaxe de base est la suivante:
for element in sequence:
# Bloc de code à exécuter pour chaque element
Exemple :
fruits = ["pomme", "banane", "orange"]
for fruit in fruits:
print("J'aime les " + fruit)
La fonction range()
est souvent utilisée avec les boucles for
pour itérer sur une séquence de nombres. range(n)
génère une séquence de nombres de 0 à n-1.
Exemple :
for i in range(5):
print(i) # Affiche 0, 1, 2, 3, 4
On peut utiliser range(debut, fin, pas)
pour spécifier un début, une fin et un pas différents.
Exemple :
for i in range(2, 10, 2):
print(i) # Affiche 2, 4, 6, 8
La boucle 'while'
La boucle while
permet d'exécuter un bloc de code tant qu'une condition est vraie. Il est crucial de s'assurer que la condition devienne fausse à un moment donné, sinon la boucle s'exécutera indéfiniment (boucle infinie).
La syntaxe de base est la suivante:
while condition:
# Bloc de code à exécuter tant que la condition est vraie
Exemple :
compteur = 0
while compteur < 5:
print(compteur)
compteur = compteur + 1 # Incrémentation du compteur
Attention: Il est essentiel d'incrémenter (ou de modifier) la variable de la condition à l'intérieur de la boucle while
. Sinon, la condition restera toujours vraie, et la boucle ne s'arrêtera jamais.
Instruction 'break' et 'continue'
Les instructions break
et continue
permettent de modifier le comportement des boucles for
et while
.
L'instruction break
permet de sortir immédiatement de la boucle, même si la condition de la boucle est toujours vraie.
Exemple :
for i in range(10):
if i == 5:
break # Sortie de la boucle lorsque i vaut 5
print(i)
L'instruction continue
permet de passer à l'itération suivante de la boucle, en ignorant le reste du code dans l'itération courante.
Exemple :
for i in range(10):
if i % 2 == 0:
continue # Passe à l'itération suivante si i est pair
print(i) # N'affiche que les nombres impairs
Ce qu'il faut retenir
if
, for
et while
permettent de contrôler le flux d'exécution.if
: Exécute un bloc de code si une condition est vraie. Possibilité d'utiliser else
et elif
.for
: Itère sur une séquence d'éléments. Souvent utilisé avec range()
.while
: Exécute un bloc de code tant qu'une condition est vraie. Attention aux boucles infinies !break
: Sort de la boucle.continue
: Passe à l'itération suivante.
FAQ
-
Quelle est la différence entre une boucle
for
et une bouclewhile
?
Une bouclefor
est utilisée lorsque vous connaissez le nombre d'itérations à l'avance (par exemple, parcourir une liste). Une bouclewhile
est utilisée lorsque vous voulez répéter un bloc de code tant qu'une condition est vraie, sans connaître le nombre d'itérations à l'avance. -
Qu'est-ce qu'une boucle infinie et comment l'éviter ?
Une boucle infinie est une bouclewhile
dont la condition reste toujours vraie. Pour l'éviter, il faut s'assurer que la condition devienne fausse à un moment donné, en modifiant la variable utilisée dans la condition à l'intérieur de la boucle. -
Pourquoi l'indentation est-elle importante en Python ?
L'indentation est utilisée en Python pour délimiter les blocs de code qui appartiennent aux structures de contrôle (if
,for
,while
) ou aux fonctions. Une indentation incorrecte peut entraîner des erreurs de syntaxe ou un comportement inattendu du programme.