Les boucles

Les boucles permettent de répéter automatiquement une ou plusieurs instructions, tant qu'une condition est remplie ou pour un certain nombre de fois. Elles permettent d'éviter de répéter manuellement du code et rendent vos programmes plus puissants et efficaces.

Pourquoi utiliser des boucles ?

Imaginez que vous voulez afficher les nombres de 1 à 10. Sans boucle, vous écririez :

print(1)
print(2)
print(3)
...
print(10)

Avec une boucle, une seule instruction peut suffire :

for i in range(1, 11):
    print(i)

Les boucles permettent donc d'économiser du temps, d'éviter les erreurs, et de traiter facilement de grandes quantités de données.

Les différents types de boucles en Python

La boucle for

La boucle for est utilisée pour répéter une action un nombre précis de fois ou pour parcourir des éléments dans une liste, une chaîne ou une plage de nombres.

Exemple 1 : Parcourir une plage de nombres

for i in range(5):
    print(i)

Sortie :

0
1
2
3
4

Le compteur commence à 0 et s'arrête avant 5.

Exemple 2 : Parcourir une liste

fruits = ["pomme", "banane", "cerise"]
for fruit in fruits:
    print(fruit)

Sortie :

pomme
banane
cerise

Exemple 3 : calculer une moyenne

notes = [10, 12, 14, 10, 8, 16]
somme = 0
for note in notes:
    somme = somme + note

moyenne = somme / len(notes)

La boucle while

La boucle while continue d'exécuter son bloc de code tant qu'une condition est vraie. Faites attention, une boucle while mal écrite peut créer une boucle infinie.

Exemple 3 : Compter jusqu'à 5

compteur = 0
while compteur < 5:
    print(compteur)
    compteur += 1

Sortie :

0
1
2
3
4

Différence entre for et while

Il n'y a aucune différence, elles sont toujours interchangeables. Mais... on a tendance à utiliser l'une plutôt que l'autre dans des cas différents :

  • for : Utilisé lorsque le nombre d'itérations est connu à l'avance.
  • while : Utilisé lorsque vous ne savez pas combien de fois la boucle doit s'exécuter à l'avance et que vous dépendrez d'une condition.

Les mots-clés break et continue

Les mots-clés break et continue sont utilisés dans les boucles pour contrôler le flux d'exécution : break sort de la boucle, tandis que continue saute simplement l'itération en cours et passe à la suivante.

Interrompre une boucle avec break

On l'utilise pour sortir d'une boucle dès qu'un résultat souhaité est trouvé ou une condition particulière est rencontrée. Par exemple, on cherche une valeur dans un tableau, on l'a trouvée, pour utilise break pour éviter des itérations inutiles.

Exemple 4 : Interrompre un compte

for i in range(10):
    if i == 5:
        break
    print(i)

Sortie :

0
1
2
3
4

Passer une itération avec continue

Le mot-clé continue permet de sauter l'itération actuelle de la boucle et de passer directement à la suivante. Il est utilisé pour éviter des actions non désirées ou coûteuses dans une boucle, mais sans arrêter celle-ci.

Exemple 5 : Sauter le nombre 5

for i in range(10):
    if i == 5:
        continue
    print(i)

Sortie :

0
1
2
3
4
6
7
8
9

La fonction Range

La fonction range() en Python est utilisée pour générer une séquence de nombres. Elle permet de spécifier un début, une fin et, si on le souhaite le pas (la différence entre chaque nombre de la séquence). Voici comment elle fonctionne :

Syntaxe de range() :

range(start, stop, step)
  • start (facultatif) : C'est le nombre à partir duquel commencer la séquence. Par défaut, il commence à 0 si non précisé.
  • stop : C'est le nombre où la séquence s'arrête (mais stop n'est pas inclus dans la séquence).
  • step (facultatif) : C'est la différence entre chaque nombre de la séquence. Par défaut, le pas est 1. Le pas peut être négatif : range(10, 0, -1)

Pratique : exercices sur les boucles

  1. Compter jusqu'à 10 :
    Créez une boucle qui affiche les nombres de 1 à 10.
  2. Afficher une liste :
    Donnez une liste de prénoms (par exemple, ["Alice", "Bob", "Charlie"]) et utilisez une boucle pour afficher chaque prénom.
  3. Somme des nombres :
    Écrivez un programme qui calcule la somme des nombres de 1 à 100 en utilisant une boucle.
  4. Boucle avec condition :
    Utilisez une boucle while pour demander à l'utilisateur de deviner un nombre secret. Arrêtez la boucle lorsque le bon nombre est trouvé.
  5. Compter les voyelles :
    Demandez à l'utilisateur de saisir un mot et utilisez une boucle pour compter le nombre de voyelles (a, e, i, o, u) dans ce mot.
  6. divisibilité : afficher les nombres divisible par 2 et 3 entre [10 et 60].