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

  • Structures de contrôle: 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.
  • L'indentation est essentielle en Python pour définir les blocs de code.

FAQ

  • Quelle est la différence entre une boucle for et une boucle while ?

    Une boucle for est utilisée lorsque vous connaissez le nombre d'itérations à l'avance (par exemple, parcourir une liste). Une boucle while 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 boucle while 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.