COURS 12 PYTHON

Structures Conditionnelles en Python

Introduction aux Conditions

Les structures conditionnelles permettent à votre programme de prendre des décisions et d'exécuter différents blocs de code selon que certaines conditions sont vraies ou fausses.

L'Instruction if (si)

L'instruction if est la structure conditionnelle la plus basique. Elle exécute un bloc de code seulement si la condition est vraie.

Syntaxe de base :

if condition:
    # bloc de code à exécuter si la condition est True
age = 18
if age >= 18:
    print("Vous êtes majeur")

# Sortie : Vous êtes majeur
Attention à l'indentation : En Python, l'indentation (les espaces au début de la ligne) est cruciale. Elle définit les blocs de code. Utilisez 4 espaces pour chaque niveau d'indentation.

L'Instruction if...else (si...sinon)

L'instruction if...else permet d'exécuter un bloc de code si la condition est vraie, et un autre bloc si elle est fausse.

Syntaxe :

if condition:
    # bloc à exécuter si condition est True
else:
    # bloc à exécuter si condition est False
age = 16
if age >= 18:
    print("Vous êtes majeur")
else:
    print("Vous êtes mineur")

# Sortie : Vous êtes mineur

L'Instruction if...elif...else (si...sinon si...sinon)

L'instruction if...elif...else permet de tester plusieurs conditions dans l'ordre.

Syntaxe :

if condition1:
    # bloc si condition1 est True
elif condition2:
    # bloc si condition2 est True
elif condition3:
    # bloc si condition3 est True
else:
    # bloc si toutes les conditions sont False
note = 75
if note >= 90:
    print("Excellent !")
elif note >= 70:
    print("Bien")
elif note >= 50:
    print("Passable")
else:
    print("Échec")

# Sortie : Bien

Conditions Imbriquées

Vous pouvez imbriquer des conditions à l'intérieur d'autres conditions.

age = 25
est_etudiant = True

if age >= 18:
    if est_etudiant:
        print("Étudiant majeur")
    else:
        print("Majeur non-étudiant")
else:
    print("Mineur")

# Sortie : Étudiant majeur

Opérateurs Logiques dans les Conditions

Vous pouvez combiner plusieurs conditions avec les opérateurs logiques and, or et not.

age = 25
salaire = 30000

# Avec AND
if age >= 18 and salaire > 25000:
    print("Éligible pour le prêt")

# Avec OR
temperature = 35
if temperature < 0 or temperature > 30:
    print("Conditions météo extrêmes")

# Avec NOT
est_ferie = False
if not est_ferie:
    print("Jour de travail")

Conditions avec des Chaînes de Caractères

Vous pouvez aussi utiliser des conditions avec des chaînes de caractères.

langue = "français"

if langue == "français":
    print("Bonjour !")
elif langue == "english":
    print("Hello!")
elif langue == "español":
    print("¡Hola!")
else:
    print("Langue non reconnue")

Instructions Conditionnelles sur une Ligne

Pour des conditions simples, Python permet une écriture condensée sur une ligne.

# Condition if simple
age = 20
if age >= 18: print("Majeur")

# Opérateur ternaire
age = 16
statut = "Majeur" if age >= 18 else "Mineur"
print(statut) # Sortie : Mineur

Valeurs Truthy et Falsy

En Python, certaines valeurs sont considérées comme "fausses" (Falsy) dans un contexte booléen :

  • False
  • None
  • 0 (entier)
  • 0.0 (float)
  • "" (chaîne vide)
  • [] (liste vide)
  • {} (dictionnaire vide)
  • () (tuple vide)

Toutes les autres valeurs sont considérées comme "vraies" (Truthy).

nom = ""
if nom:
    print(f"Bonjour {nom}")
else:
    print("Nom non fourni")

# Sortie : Nom non fourni

Exemples Pratiques Complets

Exemple 1 : Calculateur d'IMC

poids = 70
taille = 1.75

imc = poids / (taille ** 2)

print(f"Votre IMC est : {imc:.2f}")

if imc < 18.5:
    categorie = "Maigreur"
elif imc < 25:
    categorie = "Poids normal"
elif imc < 30:
    categorie = "Surpoids"
else:
    categorie = "Obésité"

print(f"Catégorie : {categorie}")

Exemple 2 : Système de Login

username = "admin"
password = "1234"

username_saisi = input("Nom d'utilisateur : ")
password_saisi = input("Mot de passe : ")

if username_saisi == username and password_saisi == password:
    print("Connexion réussie !")
else:
    print("Nom d'utilisateur ou mot de passe incorrect")

Exemple 3 : Calculateur de Réductions

montant_achat = 150
est_membre = True

if est_membre:
    if montant_achat > 100:
        reduction = montant_achat * 0.20
    elif montant_achat > 50:
        reduction = montant_achat * 0.10
    else:
        reduction = 0
else:
    reduction = 0

montant_final = montant_achat - reduction
print(f"Montant initial : {montant_achat}€")
print(f"Réduction : {reduction}€")
print(f"Montant final : {montant_final}€")

Exercices Pratiques

Exercice 1 : Vérificateur d'Année Bissextile

# Une année est bissextile si :
# - Elle est divisible par 4 ET non divisible par 100
# - OU elle est divisible par 400

annee = 2024

if (annee % 4 == 0 and annee % 100 != 0) or (annee % 400 == 0):
    print(f"{annee} est une année bissextile")
else:
    print(f"{annee} n'est pas une année bissextile")

Exercice 2 : Classificateur de Nombres

nombre = float(input("Entrez un nombre : "))

if nombre > 0:
    if nombre == int(nombre):
        print("Nombre entier positif")
    else:
        print("Nombre décimal positif")
elif nombre < 0:
    if nombre == int(nombre):
        print("Nombre entier négatif")
    else:
        print("Nombre décimal négatif")
else:
    print("Zéro")

Bonnes Pratiques

  • Utilisez des noms de variables explicites pour vos conditions
  • Évitez les conditions trop complexes - décomposez-les si nécessaire
  • Utilisez des parenthèses pour clarifier l'ordre d'évaluation
  • Vérifiez toujours votre indentation
  • Testez vos conditions avec différentes valeurs
Astuce : Utilisez la fonction print() pour déboguer vos conditions et voir quelle branche est exécutée.

Résumé

  • if exécute un bloc si la condition est vraie
  • if...else permet de gérer les cas vrai et faux
  • if...elif...else permet de tester plusieurs conditions
  • L'indentation est cruciale en Python
  • Les opérateurs logiques permettent de combiner des conditions
  • Les valeurs Falsy sont évaluées comme False dans les conditions
  • Les conditions imbriquées permettent une logique complexe
 
Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam