0%
Structures de contrôle en Python : conditions et boucles

Structures de contrôle

Contrôlez le flux d'exécution de vos programmes

10-15 min

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 :

  1. 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é).

  2. É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é.

  3. Utilisez des noms significatifs pour les variables de boucle lorsque cela a du sens.

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

Lien copié !