Conditions et Boucles
Conditions et Boucles
Section titled “Conditions et Boucles”Pourquoi c’est important ?
Section titled “Pourquoi c’est important ?”Les conditions et les boucles sont la base de toute la programmation. Sans elles, un programme ne pourrait que faire des calculs simples dans l’ordre. Avec elles, vous pouvez :
- Prendre des décisions : Afficher un message différent selon l’utilisateur
- Répéter des tâches : Traiter 1000 fichiers sans écrire 1000 fois le même code
- Créer de l’intelligence : Réagir différemment selon les situations
Exemples concrets d’utilisation :
- Sites web : Afficher “Connecté” ou “Se connecter” selon l’utilisateur
- Jeux vidéo : Vérifier si le joueur a perdu toutes ses vies
- Applications : Envoyer une notification tous les jours
- Scripts système : Vérifier l’état de tous les serveurs
- E-commerce : Appliquer une réduction si le panier dépasse 100€
Les conditions : prendre des décisions
Section titled “Les conditions : prendre des décisions”La condition simple : if
Section titled “La condition simple : if”La structure if permet d’exécuter du code seulement si une condition est vraie.
age = 21
if age >= 21: print("Vous êtes majeur")Syntaxe : if condition:
Comment ça marche ?
- Python évalue
age >= 21→TrueouFalse - Si
True, le code indenté s’exécute - Si
False, Python l’ignore et continue
L’indentation est obligatoire ! Les espaces avant print indiquent que cette ligne appartient au if.
Exemple réel : Système de connexion
mot_de_passe = "secret123"
if mot_de_passe == "secret123": print("Accès autorisé") # Ouvrir le tableau de bord # Charger les données utilisateurUtilisé dans :
- Validation de formulaires
- Systèmes d’authentification
- Vérification de permissions
- Contrôle d’accès aux fonctionnalités
La condition avec alternative : if…else
Section titled “La condition avec alternative : if…else”Le else permet de gérer le cas contraire.
age = 16
if age >= 18: print("Vous êtes majeur")else: print("Vous êtes mineur")Syntaxe :
if condition:pour le cas vraielse:pour le cas faux
Exemple réel : E-commerce
prix_panier = 85
if prix_panier >= 100: print("Livraison gratuite !") frais_livraison = 0else: print("Frais de livraison : 5€") frais_livraison = 5
total = prix_panier + frais_livraisonUtilisé dans :
- Calcul de prix avec conditions
- Affichage d’interfaces utilisateur différentes
- Gestion d’erreurs
- Logique métier (règles d’entreprise)
Les conditions multiples : if…elif…else
Section titled “Les conditions multiples : if…elif…else”Quand vous avez plus de 2 cas possibles, utilisez elif (sinon si).
note = 80
if note >= 90: print("Excellent")elif note >= 80: print("Très bien")elif note >= 70: print("Bien")elif note >= 60: print("Passable")else: print("Insuffisant")Syntaxe : elif signifie “sinon si”
Important : Python teste dans l’ordre et s’arrête dès qu’une condition est vraie.
Exemple réel : Système de tarification
kilometres = 150
if kilometres < 50: tarif = 10 categorie = "Courte distance"elif kilometres < 100: tarif = 20 categorie = "Moyenne distance"elif kilometres < 200: tarif = 35 categorie = "Longue distance"else: tarif = 50 categorie = "Très longue distance"
print(f"{categorie} : {tarif}€")Utilisé dans :
- Systèmes de notation
- Calcul d’impôts progressifs
- Niveaux de difficulté dans les jeux
- Classification de données
- Systèmes de recommandation
Combiner plusieurs conditions
Section titled “Combiner plusieurs conditions”Les opérateurs logiques permettent de tester plusieurs choses en même temps.
age = 25permis = True
if age >= 18 and permis: print("Vous pouvez conduire")elif age >= 18 and not permis: print("Vous devez passer le permis")else: print("Vous êtes trop jeune pour conduire")Opérateurs logiques :
and: Les DEUX conditions doivent être vraiesor: AU MOINS UNE condition doit être vraienot: Inverse la condition
Exemple réel : Validation d’un compte bancaire
age = 25revenus_mensuels = 2000historique_propre = True
if age >= 18 and revenus_mensuels >= 1500 and historique_propre: print("Crédit approuvé") montant_max = revenus_mensuels * 10else: print("Crédit refusé")Exemple réel : Système d’alerte météo
temperature = 38humidite = 85vent = 45
if temperature > 35 and humidite > 80: print("⚠️ Alerte canicule")elif temperature < 0 or vent > 60: print("⚠️ Alerte tempête")else: print("✅ Conditions normales")Utilisé dans :
- Validation de formulaires complexes
- Systèmes de sécurité
- Contrôle d’accès multi-critères
- Intelligence artificielle (règles de décision)
- Automatisation de tâches
Les boucles : répéter des actions
Section titled “Les boucles : répéter des actions”Les boucles sont essentielles pour traiter des données en masse. Sans elles, impossible de créer des applications performantes.
La boucle for : répéter un nombre fixe de fois
Section titled “La boucle for : répéter un nombre fixe de fois”La boucle for est utilisée quand vous savez combien de fois répéter.
Compter de 0 à 4 :
for i in range(5): print(i) # Affiche 0, 1, 2, 3, 4Compter de 1 à 5 :
for i in range(1, 6): print(i) # Affiche 1, 2, 3, 4, 5Compter de 2 en 2 :
for i in range(0, 11, 2): print(i) # Affiche 0, 2, 4, 6, 8, 10Syntaxe : range(debut, fin, pas)
Important : range(5) va de 0 à 4 (pas jusqu’à 5 !)
Exemple réel : Envoi d’emails en masse
utilisateurs = ["alice@mail.com", "bob@mail.com", "charlie@mail.com"]
for email in utilisateurs: print(f"Envoi à {email}...") # Code pour envoyer l'email print("✓ Envoyé")Exemple réel : Traitement de fichiers
fichiers = ["rapport1.txt", "rapport2.txt", "rapport3.txt"]
for fichier in fichiers: print(f"Traitement de {fichier}...") # Ouvrir le fichier # Analyser le contenu # Générer un résumé print(f"✓ {fichier} traité")Exemple réel : Génération de factures
for numero_facture in range(1000, 1010): print(f"Génération de la facture #{numero_facture}") # Créer un PDF # Envoyer par email # Enregistrer dans la base de donnéesUtilisé dans :
- Traitement de données (big data)
- Envoi de notifications
- Génération de rapports
- Backup de fichiers
- Tests automatisés
- Web scraping (extraction de données)
Parcourir du texte
Section titled “Parcourir du texte”mot = "Python"
for lettre in mot: print(lettre) # Affiche P, y, t, h, o, nExemple réel : Validation de mot de passe
mot_de_passe = "Ab12!xyz"a_majuscule = Falsea_chiffre = False
for caractere in mot_de_passe: if caractere.isupper(): a_majuscule = True if caractere.isdigit(): a_chiffre = True
if a_majuscule and a_chiffre and len(mot_de_passe) >= 8: print("✓ Mot de passe valide")else: print("✗ Mot de passe trop faible")Utilisé dans :
- Validation de données
- Analyse de texte
- Cryptographie
- Parsing de fichiers
- Traitement du langage naturel (NLP)
La boucle while : répéter tant qu’une condition est vraie
Section titled “La boucle while : répéter tant qu’une condition est vraie”Le while est utilisé quand vous ne savez pas combien de fois répéter à l’avance.
compteur = 0
while compteur < 5: print(f"Compteur : {compteur}") compteur += 1 # Équivalent à : compteur = compteur + 1Attention : Si vous oubliez compteur += 1, la boucle ne s’arrêtera jamais (boucle infinie) !
Exemple réel : Jeu de devinette
nombre_secret = 42tentatives = 0
while True: reponse = int(input("Devinez le nombre : ")) tentatives += 1
if reponse == nombre_secret: print(f"Bravo ! Trouvé en {tentatives} tentatives") break elif reponse < nombre_secret: print("Trop petit !") else: print("Trop grand !")Exemple réel : Connexion à un serveur
connexion_reussie = Falsetentatives = 0max_tentatives = 3
while not connexion_reussie and tentatives < max_tentatives: print("Tentative de connexion...") # Code de connexion connexion_reussie = verifier_connexion() tentatives += 1
if connexion_reussie: print("✓ Connecté")else: print("✗ Échec après 3 tentatives")Exemple réel : Monitoring de serveur
import time
while True: etat = verifier_serveur()
if etat == "down": print("⚠️ SERVEUR ARRÊTÉ ! Envoi d'alerte...") envoyer_alerte() break else: print("✓ Serveur opérationnel")
time.sleep(60) # Vérifier toutes les 60 secondesUtilisé dans :
- Serveurs web (boucle d’écoute)
- Jeux vidéo (game loop)
- Robots et IoT (boucle de contrôle)
- Monitoring et surveillance
- Interfaces utilisateur
- Traitements asynchrones
Contrôler les boucles : break et continue
Section titled “Contrôler les boucles : break et continue”Ces mots-clés permettent de contrôler finement l’exécution des boucles.
break : Arrête complètement la boucle
for i in range(10): if i == 5: break # Sort de la boucle quand i vaut 5 print(i) # Affiche 0, 1, 2, 3, 4Exemple réel : Recherche dans une liste
utilisateurs = ["Alice", "Bob", "Charlie", "David"]recherche = "Charlie"trouve = False
for utilisateur in utilisateurs: if utilisateur == recherche: print(f"✓ {recherche} trouvé !") trouve = True break # Pas besoin de continuer
if not trouve: print(f"✗ {recherche} introuvable")continue : Passe à l’itération suivante
for i in range(10): if i % 2 == 0: continue # Saute les nombres pairs print(i) # Affiche seulement 1, 3, 5, 7, 9Exemple réel : Traitement de fichiers avec erreurs
fichiers = ["ok.txt", "corrompu.txt", "valide.txt"]
for fichier in fichiers: if fichier == "corrompu.txt": print(f"⚠️ {fichier} ignoré (corrompu)") continue # Passe au suivant
print(f"✓ Traitement de {fichier}") # Traiter le fichierExemple réel : Validation de données
ages = [25, -5, 30, 150, 42, 0]
for age in ages: if age < 0 or age > 120: print(f"Âge invalide : {age} (ignoré)") continue
print(f"Âge valide : {age} ans") # Traiter cet âgeUtilisé dans :
- Validation et nettoyage de données
- Gestion d’erreurs
- Optimisation de performance
- Filtrage de résultats
- Parsing de fichiers complexes
Résumé des syntaxes
Section titled “Résumé des syntaxes”| Structure | Syntaxe | Usage | Exemple réel |
|---|---|---|---|
| Condition simple | if condition: | Teste une seule chose | Vérifier si connecté |
| Condition double | if... else: | Deux cas possibles | Livraison gratuite ou non |
| Conditions multiples | if... elif... else: | Plusieurs cas | Système de notation |
| Boucle for | for i in range(n): | Répéter n fois | Envoyer 100 emails |
| Boucle while | while condition: | Répéter tant que vrai | Serveur en écoute |
| Arrêter boucle | break | Sort de la boucle | Recherche trouvée |
| Sauter itération | continue | Passe au tour suivant | Ignorer données invalides |
Cas d’usage professionnels
Section titled “Cas d’usage professionnels”DevOps et Administration Système
Section titled “DevOps et Administration Système”# Vérifier l'état de plusieurs serveursserveurs = ["web1", "web2", "database", "cache"]
for serveur in serveurs: if verifier_ping(serveur): print(f"✓ {serveur} : Opérationnel") else: print(f"✗ {serveur} : ALERTE !") envoyer_notification(f"Serveur {serveur} down")Data Science
Section titled “Data Science”# Nettoyer des donnéesdonnees = [100, -999, 50, None, 75, 999999]
donnees_propres = []for valeur in donnees: if valeur is None or valeur < 0 or valeur > 10000: continue # Ignorer les valeurs aberrantes donnees_propres.append(valeur)Développement Web
Section titled “Développement Web”# Système de permissionsutilisateur_role = "admin"
if utilisateur_role == "admin": afficher_tous_les_menus()elif utilisateur_role == "moderateur": afficher_menus_moderation()else: afficher_menus_basiques()📋 Évaluation des connaissances
Section titled “📋 Évaluation des connaissances”À quoi sert cette évaluation ?
Section titled “À quoi sert cette évaluation ?”Cette évaluation rapide (3 minutes) va vous permettre de vérifier votre compréhension des conditions et boucles en Python.
Instructions :
- 🕒 Temps limité : 3 minutes
- 🎯 Seuil de réussite : 80%
- 💡 Les réponses seront expliquées à la fin
À vous de jouer ! 🚀
📝 Exercices pratiques
Section titled “📝 Exercices pratiques”Exercice 1 : Vérification d'âge
Énoncé : Créez un programme qui demande l’âge d’un utilisateur et affiche un message approprié selon les critères :
- Moins de 13 ans : “Enfant”
- Entre 13 et 17 ans : “Adolescent”
- Entre 18 et 59 ans : “Adulte”
- 60 ans et plus : “Senior”
Exemple d’exécution :
age = int(input("Entrez votre âge : "))# Votre code iciVoir la solution
age = int(input("Entrez votre âge : "))
if age < 0 or age > 150: print("❌ Âge invalide")elif age < 13: print("👶 Enfant")elif age < 18: print("🧑 Adolescent")elif age < 60: print("👨 Adulte")else: print("👴 Senior")Résultat attendu :
Entrez votre âge : 25👨 AdulteExercice 2 : Table de multiplication
Énoncé : Créez un programme qui affiche la table de multiplication d’un nombre donné, de 1 à 10.
Exemple d’exécution :
nombre = 7# Votre code iciVoir la solution
nombre = 7
print(f"📊 Table de multiplication de {nombre}")print("-" * 30)
for i in range(1, 11): resultat = nombre * i print(f"{nombre} × {i} = {resultat}")Résultat attendu :
📊 Table de multiplication de 7------------------------------7 × 1 = 77 × 2 = 147 × 3 = 217 × 4 = 287 × 5 = 357 × 6 = 427 × 7 = 497 × 8 = 567 × 9 = 637 × 10 = 70Exercice 3 : Calculatrice de remise
Énoncé : Créez un programme qui calcule le prix final d’un panier avec les règles suivantes :
- Moins de 50€ : pas de remise
- Entre 50€ et 99€ : 10% de remise
- Entre 100€ et 199€ : 20% de remise
- 200€ et plus : 30% de remise
Affichez le montant initial, la remise et le prix final.
Exemple d’exécution :
prix_panier = 150# Votre code iciVoir la solution
prix_panier = 150
print(f"💰 Montant du panier : {prix_panier}€")
if prix_panier < 50: remise = 0 pourcentage = 0elif prix_panier < 100: remise = prix_panier * 0.10 pourcentage = 10elif prix_panier < 200: remise = prix_panier * 0.20 pourcentage = 20else: remise = prix_panier * 0.30 pourcentage = 30
prix_final = prix_panier - remise
print(f"🎁 Remise ({pourcentage}%) : -{remise:.2f}€")print(f"✅ Prix final : {prix_final:.2f}€")Résultat attendu :
💰 Montant du panier : 150€🎁 Remise (20%) : -30.00€✅ Prix final : 120.00€Exercice 4 : Compteur de voyelles
Énoncé : Créez un programme qui compte le nombre de voyelles dans une phrase donnée. Utilisez une boucle for pour parcourir chaque lettre.
Exemple d’exécution :
phrase = "Python est un langage génial"# Votre code iciVoir la solution
phrase = "Python est un langage génial"voyelles = "aeiouAEIOU"compteur = 0
print(f"📝 Phrase : {phrase}")print(f"🔍 Analyse en cours...")
for lettre in phrase: if lettre in voyelles: compteur += 1
print(f"✅ Nombre de voyelles : {compteur}")Résultat attendu :
📝 Phrase : Python est un langage génial🔍 Analyse en cours...✅ Nombre de voyelles : 10Exercice 5 : Jeu du FizzBuzz
Énoncé : Créez le jeu classique FizzBuzz : afficher les nombres de 1 à 30, mais :
- Si le nombre est divisible par 3 : afficher “Fizz”
- Si le nombre est divisible par 5 : afficher “Buzz”
- Si le nombre est divisible par 3 ET 5 : afficher “FizzBuzz”
- Sinon : afficher le nombre
Exemple d’exécution :
# Votre code iciVoir la solution
print("🎮 Jeu FizzBuzz (1 à 30)")print("-" * 40)
for nombre in range(1, 31): if nombre % 3 == 0 and nombre % 5 == 0: print(f"{nombre:2} → FizzBuzz") elif nombre % 3 == 0: print(f"{nombre:2} → Fizz") elif nombre % 5 == 0: print(f"{nombre:2} → Buzz") else: print(f"{nombre:2} → {nombre}")Résultat attendu :
🎮 Jeu FizzBuzz (1 à 30)---------------------------------------- 1 → 1 2 → 2 3 → Fizz 4 → 4 5 → Buzz 6 → Fizz 7 → 7 8 → 8 9 → Fizz10 → Buzz11 → 1112 → Fizz13 → 1314 → 1415 → FizzBuzz...Exercice 6 : Validation de mot de passe
Énoncé : Créez un programme qui vérifie qu’un mot de passe respecte ces critères :
- Au moins 8 caractères
- Contient au moins une majuscule
- Contient au moins un chiffre
- Contient au moins un caractère spécial (!@#$%^&*)
Utilisez des boucles et des conditions combinées.
Exemple d’exécution :
mot_de_passe = "Python2024!"# Votre code iciVoir la solution
mot_de_passe = "Python2024!"
# Critèreslongueur_ok = len(mot_de_passe) >= 8a_majuscule = Falsea_chiffre = Falsea_special = False
caracteres_speciaux = "!@#$%^&*"
# Vérification avec bouclefor caractere in mot_de_passe: if caractere.isupper(): a_majuscule = True if caractere.isdigit(): a_chiffre = True if caractere in caracteres_speciaux: a_special = True
# Affichage des résultatsprint("🔒 Validation du mot de passe")print("-" * 40)print(f"Mot de passe : {mot_de_passe}")print()print(f"{'✅' if longueur_ok else '❌'} Au moins 8 caractères : {len(mot_de_passe)}")print(f"{'✅' if a_majuscule else '❌'} Contient une majuscule")print(f"{'✅' if a_chiffre else '❌'} Contient un chiffre")print(f"{'✅' if a_special else '❌'} Contient un caractère spécial")print()
if longueur_ok and a_majuscule and a_chiffre and a_special: print("✅ Mot de passe VALIDE")else: print("❌ Mot de passe INVALIDE")Résultat attendu :
🔒 Validation du mot de passe----------------------------------------Mot de passe : Python2024!
✅ Au moins 8 caractères : 11✅ Contient une majuscule✅ Contient un chiffre✅ Contient un caractère spécial
✅ Mot de passe VALIDEExercice 7 : Somme des nombres pairs
Énoncé :
Calculez la somme de tous les nombres pairs entre 1 et 100 en utilisant une boucle. Utilisez continue pour ignorer les nombres impairs.
Exemple d’exécution :
# Votre code iciVoir la solution
somme = 0compteur = 0
print("🔢 Calcul de la somme des nombres pairs (1-100)")print("-" * 50)
for nombre in range(1, 101): if nombre % 2 != 0: continue # Ignore les impairs
somme += nombre compteur += 1
print(f"Nombres pairs trouvés : {compteur}")print(f"Somme totale : {somme}")Résultat attendu :
🔢 Calcul de la somme des nombres pairs (1-100)--------------------------------------------------Nombres pairs trouvés : 50Somme totale : 2550Exercice 8 : Menu interactif
Énoncé : Créez un menu interactif avec une boucle while qui s’arrête seulement quand l’utilisateur choisit “Quitter”. Le menu propose :
- Afficher la date
- Afficher l’heure
- Quitter
Exemple d’exécution :
# Votre code iciVoir la solution
from datetime import datetime
continuer = True
print("=" * 40)print(" MENU PRINCIPAL")print("=" * 40)
while continuer: print("\n📋 Choisissez une option :") print("1. Afficher la date") print("2. Afficher l'heure") print("3. Quitter")
choix = input("\nVotre choix (1-3) : ")
if choix == "1": date_actuelle = datetime.now().strftime("%d/%m/%Y") print(f"📅 Date : {date_actuelle}") elif choix == "2": heure_actuelle = datetime.now().strftime("%H:%M:%S") print(f"⏰ Heure : {heure_actuelle}") elif choix == "3": print("\n👋 Au revoir !") continuer = False else: print("❌ Choix invalide. Veuillez entrer 1, 2 ou 3.")
print("\n✅ Programme terminé.")Résultat attendu :
======================================== MENU PRINCIPAL========================================
📋 Choisissez une option :1. Afficher la date2. Afficher l'heure3. Quitter
Votre choix (1-3) : 1📅 Date : 01/01/2026
📋 Choisissez une option :1. Afficher la date2. Afficher l'heure3. Quitter
Votre choix (1-3) : 3
👋 Au revoir !
✅ Programme terminé.📢 Partagez cet article
Section titled “📢 Partagez cet article”*Dernière mise à jour : 29 Décembre 2025