Structures de contrôle
Contrôlez le flux d'exécution de vos programmes
Structures de contrôle en Python : conditions et boucles
Les structures de contrôle sont des éléments fondamentaux en programmation qui permettent de contrôler le flux d’exécution d’un programme. Au lieu d’exécuter les instructions de manière linéaire, elles permettent de prendre des décisions et de répéter des actions en fonction de conditions spécifiques. Dans ce tutoriel, nous allons explorer les différentes structures de contrôle disponibles en Python.
Instructions conditionnelles (if, elif, else)
Les instructions conditionnelles permettent d’exécuter du code uniquement si certaines conditions sont remplies. Python propose plusieurs formes d’instructions conditionnelles.
Instruction if simple
La forme la plus basique est l’instruction if
suivie d’une condition :
age = 18
if age >= 18:
print("Vous êtes majeur.")
Dans cet exemple, le message s’affichera uniquement si l’âge est supérieur ou égal à 18.
Instruction if-else
Pour exécuter un bloc de code alternatif lorsque la condition n’est pas remplie, on utilise else
:
age = 16
if age >= 18:
print("Vous êtes majeur.")
else:
print("Vous êtes mineur.")
Instruction if-elif-else
Pour tester plusieurs conditions séquentiellement, on utilise elif
(abréviation de “else if”) :
score = 75
if score >= 90:
print("Excellent !")
elif score >= 80:
print("Très bien !")
elif score >= 70:
print("Bien.")
elif score >= 60:
print("Passable.")
else:
print("Besoin d'amélioration.")
Python évalue les conditions dans l’ordre et exécute le bloc de code correspondant à la première condition vraie.
Expressions conditionnelles (opérateur ternaire)
Python offre une syntaxe compacte pour les expressions conditionnelles simples :
age = 20
statut = "majeur" if age >= 18 else "mineur"
print(f"Vous êtes {statut}.")
Cette expression est équivalente à l’instruction if-else complète.
Boucles
Les boucles permettent d’exécuter un bloc de code plusieurs fois. Python propose deux types principaux de boucles : for
et while
.
Boucle for
La boucle for
en Python est utilisée pour itérer sur une séquence (liste, tuple, dictionnaire, ensemble ou chaîne) :
# Itération sur une liste
fruits = ["pomme", "banane", "orange"]
for fruit in fruits:
print(f"J'aime les {fruit}s.")
# Itération sur une plage de nombres
for i in range(5): # 0, 1, 2, 3, 4
print(i)
# Itération avec index
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
La fonction range()
est souvent utilisée avec les boucles for
pour générer des séquences de nombres.
Boucle while
La boucle while
exécute un bloc de code tant qu’une condition est vraie :
compteur = 0
while compteur < 5:
print(f"Compteur: {compteur}")
compteur += 1
Il est important de s’assurer que la condition de la boucle while
devienne fausse à un moment donné pour éviter les boucles infinies.
Instructions de contrôle de boucle
Python fournit des instructions spéciales pour modifier le comportement des boucles.
break
L’instruction break
permet de sortir immédiatement d’une boucle :
for i in range(10):
if i == 5:
break
print(i) # Affiche 0, 1, 2, 3, 4
continue
L’instruction continue
passe à l’itération suivante de la boucle :
for i in range(10):
if i % 2 == 0: # Si i est pair
continue
print(i) # Affiche uniquement les nombres impairs : 1, 3, 5, 7, 9
else avec les boucles
Peu connu, mais très utile : les boucles for
et while
peuvent avoir une clause else
qui est exécutée lorsque la boucle se termine normalement (sans break
) :
for i in range(5):
print(i)
else:
print("Boucle terminée normalement")
# Avec break
for i in range(5):
if i == 3:
break
print(i)
else:
print("Ce message ne sera pas affiché")
Compréhensions de liste
Les compréhensions de liste offrent une syntaxe concise pour créer des listes basées sur des séquences existantes :
# Créer une liste des carrés des nombres de 0 à 9
carres = [x**2 for x in range(10)]
print(carres) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# Avec condition
pairs = [x for x in range(10) if x % 2 == 0]
print(pairs) # [0, 2, 4, 6, 8]
Cette syntaxe peut également être utilisée pour les dictionnaires et les ensembles.
Bonnes pratiques
Voici quelques conseils pour utiliser efficacement les structures de contrôle :
-
Indentation : En Python, l’indentation n’est pas seulement une question de style, elle définit la structure du code. Soyez cohérent avec l’indentation (4 espaces par niveau est recommandé).
-
Évitez les imbrications excessives : Trop de niveaux d’imbrication rendent le code difficile à lire. Essayez de refactoriser votre code ou d’utiliser des fonctions pour réduire la complexité.
-
Utilisez des noms significatifs pour les variables de boucle lorsque cela a du sens.
-
Préférez les compréhensions de liste aux boucles for traditionnelles pour les opérations simples de transformation de données.
Conclusion
Les structures de contrôle sont essentielles pour écrire des programmes Python flexibles et puissants. Elles vous permettent de prendre des décisions, de répéter des actions et de manipuler le flux d’exécution de vos programmes.
Dans le prochain tutoriel, nous explorerons la programmation orientée objet en Python, qui vous permettra d’organiser votre code de manière encore plus efficace et modulaire.
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion