Python 2.12 : Améliorer notre programme avec la boucle

Dans cette leçon, nous allons améliorer notre programme en utilisant une boucle while pour relancer la demande de l'âge tant que la valeur entrée n'est pas correcte. C'est un cas typique d'utilisation : on continue à exécuter une portion de code aussi longtemps qu'une condition reste vraie. Le programme ne sortira de la boucle que lorsque l'utilisateur aura saisi un âge valide.

Le pattern de saisie validée

Nous initialisons d'abord la variable age à zéro, puis nous entrons dans une boucle while qui s'exécute tant que age vaut zéro. À l'intérieur, on redemande l'âge à l'utilisateur. Voici la structure typique :

age = 0
							while age == 0:
							    saisie = input("Quel est ton âge ? ")
							    if saisie.isdigit():
							        age = int(saisie)
							    else:
							        print("L'âge entré n'est pas correct")
							print("Vous avez " + str(age) + " ans")

Tant que l'utilisateur entre n'importe quoi de non numérique, le programme affiche un message d'erreur et redemande l'âge. Dès qu'un nombre valide est saisi, la condition de boucle devient fausse et le programme continue son exécution. Ce pattern est très répandu pour valider toute saisie utilisateur.

Les points clés de cette amélioration :

  • Initialiser la variable à une valeur sentinelle (zéro ici)
  • Utiliser while pour relancer tant que la condition n'est pas remplie
  • Mettre à jour la variable de contrôle à l'intérieur de la boucle
  • Convertir la chaîne saisie en entier avec int() après validation
  • Concaténer avec str() lors de l'affichage final

Si vous oubliez de mettre à jour la variable de contrôle à l'intérieur du while, vous créez une boucle infinie qui ne s'arrête jamais. C'est un piège classique : toujours s'assurer que la condition pourra devenir fausse à un moment. À très bientôt pour la suite sur la boucle for et ses cas d'usage.

En résumé

Cette leçon montre comment améliorer un programme Python en utilisant une boucle while pour valider les entrées utilisateur. L'instructeur initialise une variable d'âge à 0, puis crée une boucle qui redemande l'âge tant qu'il n'est pas valide, en affichant un message d'erreur à chaque tentative invalide. À travers des démonstrations pratiques, on observe comment le programme continue de s'exécuter normalement une fois qu'une valeur correcte est entrée.

Points clés

  • Initialiser une variable avant la boucle avec une valeur par défaut (ex: age = 0)
  • Créer une condition while qui vérifie la validité de la valeur saisie
  • Afficher un message d'erreur à l'intérieur de la boucle si l'entrée n'est pas valide
  • La boucle redémarre automatiquement jusqu'à obtenir une entrée correcte
  • Une fois la condition satisfaite, le reste du programme s'exécute normalement

Questions fréquentes

Pourquoi initialiser une variable avant une boucle while?

L'initialisation (par exemple age = 0) permet à la condition while d'être évaluée correctement dès la première itération et assure que la boucle s'exécute au moins une fois si nécessaire.

Comment afficher un message d'erreur à chaque tentative invalide?

En utilisant print() à l'intérieur de la boucle while, avec la tabulation correcte. Le message s'affichera automatiquement à chaque itération tant que la condition reste vraie.

Quand la boucle while s'arrête-t-elle exactement?

La boucle s'arrête quand la condition devient fausse, c'est-à-dire quand l'utilisateur saisit une valeur valide qui satisfait la condition du while. Le programme poursuit alors son exécution normalement.