Chapitre 2 - Conditions et boucles

🎯 Objectifs du Chapitre

  • Apprendre Ă  Ă©crire des programmes dynamiques en utilisant des conditions (if, else) et des boucles (for, while).
  • Comprendre l’importance des structures de contrĂ´le pour gĂ©rer le flux d'exĂ©cution d'un programme.

📖 1. Les conditions (Structures de décision)

1.1 Principe des conditions

Les structures conditionnelles permettent de prendre des décisions dans un programme. En fonction de certaines conditions, différentes parties du code peuvent être exécutées.

  • if : vĂ©rifie une condition et exĂ©cute le bloc de code associĂ© si elle est vraie.
  • elif : vĂ©rifie une autre condition lorsque la première est fausse et exĂ©cute le bloc de code associĂ© si cette nouvelle condition est vraie.
  • else : exĂ©cute un bloc de code si toutes les conditions prĂ©cĂ©dentes sont fausses

Exemple :

if condition:
    # Bloc de code exécuté si la condition est vraie
elif autre_condition:
    # Bloc exécuté si la première condition est fausse et l’autre condition est vraie
else:
    # Bloc exécuté si toutes les conditions précédentes sont fausses

Contrairement à d'autres langages tels que C/C++ ou même Java, Python utilise l’indentation (l'espace en début de ligne) pour délimiter les blocs de code. Cette indentation est réalisée avec la touche Tab du clavier. Le raccourci Shift + Tab permet de retirer une indentation.

1.2 Opérateurs de comparaison

Les opérateurs de comparaison permettent de comparer deux valeurs. Ils sont utilisés dans les conditions pour vérifier si une condition est vraie ou fausse :

  • == : Ă©gal Ă 
  • != : diffĂ©rent de
  • < : infĂ©rieur Ă 
  • > : supĂ©rieur Ă 
  • <= : infĂ©rieur ou Ă©gal Ă 
  • >= : supĂ©rieur ou Ă©gal Ă 

Exemple :

age = 18

if age >= 18:
    print("Vous ĂŞtes majeur.")
else:
    print("Vous ĂŞtes mineur.")
>> Vous ĂŞtes majeur.

1.3 Opérateurs logiques

On peut combiner plusieurs conditions grâce aux opérateurs logiques :

  • and : toutes les conditions doivent ĂŞtre vraies.
  • or : au moins une des conditions doit ĂŞtre vraie.
  • not : inverse la condition.

Exemple :

x = 12
y = 3

if x > 5 and y < 10:
    print("Les deux conditions sont vraies.")

>> Les deux conditions sont vraies.

✏️ Exercice 3 : Un dressing intelligent

Un exemple d'organisation de vos dossiers/fichiers vous a été donné dans le chapitre précédent, vous pouvez vous en inspirer pour continuer à travailler de manière organisée tout au long de ce cours.

Rappel : Toujours ouvrir un dossier à l'ouverture de VSCode pour travailler à l'intérieur de celui-ci.

Objectif : Écrire un programme qui aide l’utilisateur à choisir une tenue en fonction de la température qu'il donne.

Consigne : Le programme demande à l’utilisateur la température extérieure et affiche une tenue de votre choix adaptée à la température en fonction des 4 cas suivants :

  • Si la tempĂ©rature est infĂ©rieure Ă  0°C
  • Si la tempĂ©rature est entre 0°C et 10°C
  • Si la tempĂ©rature est entre 10°C et 20°C
  • Si la tempĂ©rature est supĂ©rieure Ă  20°C

Vous savez maintenant écrire des conditions simples.

✏️ Exercice 4 : Les tables de vérité

Voici un tableaux représentant le resultats des opérations logiques and et or :

ABA and BA or B
FalseFalseFalseFalse
FalseTrue??
TrueTrue??
TrueFalse??

Ce tableau s'appelle une table de vérité. Elle permet de déterminer le résultat d'une opération logique en fonction des valeurs de vérité des variables A et B.

Ecrire un programme qui demande à l'utilisateur les valeurs de vérité de A et B et affiche les résultats des opérations logiques and et or afin de compléter les tableaux ci-dessus.

La fonction bool() ne permet pas de convertir les chaînes de caractères "True" ou "False" en booléens. Pour cela, on utilise la fonction eval().

Quel est la différence entre le fonctionnement de la fonction bool() et de la fonction eval() ?

Faire de même pour la table de vérité de l'opération not(A and B) :

ABnot(A and B)
FalseFalse?
FalseTrue?
TrueTrue?
TrueFalse?

Sans utiliser l'ordinateur, remplissez à la main la table de vérité de l'opération not a or not b suivante:

ABnot Anot Bnot A or not B
FalseFalse???
FalseTrue???
TrueTrue???
TrueFalse???

Vous savez maintenant manipuler les opérateurs logiques et avez découvert les tables de vérité.

✏️ Exercice 5 : Un dressing encore plus intelligent

Objectif : Améliorer le programme de l'exercice 3 en ajoutant à la température une condition sur le temps (pluie, soleil, nuageux).

Consigne : Reprenez le code de l'exercice 2. En plus de la température, vous devez offrir un choix de temps à l'utilisateur. Votre programme doit donc fonctionner de la manière suivante :

  1. Demander la température extérieure.
  2. Demander le temps qu'il fait.
  3. Afficher une tenue adaptée à la température et au temps.

Exemple :

>> Quelle est la température extérieure (en °C) ? 
25
>> Quel temps fait-il ? (choisissez une réponse en tapant le numéro correspondant)
>> 1. Pluie
>> 2. Soleil
>> 3. Nuageux
2
>> Vous devriez porter un t-shirt et un short.

📖 2. Les boucles (Structures itératives)

2.1 La boucle for

La boucle for permet de répéter un bloc de code un nombre déterminé de fois. Elle est souvent utilisée pour parcourir des séquences (listes, chaînes de caractères, etc.)

Exemple :

for variable in séquence:
    # Bloc de code exécuté pour chaque élément de la séquence
for i in range(3):
    print(i)
>> 0
>> 1
>> 2

2.2 La boucle while

La boucle while exécute un bloc de code tant qu’une condition est vraie.

Exemple :

while condition:
    # Bloc de code exécuté tant que la condition est vraie
compteur = 0
while compteur < 4:
    print(compteur)
    compteur += 1
>> 0
>> 1
>> 2
>> 3

2.3 Boucle infinie et sortie de boucle

Une boucle infinie se produit quand la condition de sortie n’est jamais atteinte. Cela peut bloquer l’exécution du programme. On peut interrompre une boucle avec l’instruction break.

Exemple :

compteur = 0
while True:
    print(compteur)
    compteur += 1
    if compteur == 4:
        break
>> 0
>> 1
>> 2
>> 3

✏️ Exercice 6 : Le juste prix

Écrire un programme qui demande à l’utilisateur de deviner un nombre entier entre 1 et 20 en utilisant le module random. En fonction de sa réponse, il affiche :

  • Si le nombre est trop petit, "Trop petit ! Essayez encore."
  • Si le nombre est trop grand, "Trop grand ! Essayez encore."
  • Si c’est correct, "Bravo, vous avez trouvĂ© !"

Cherchez sur internet et expliquer ce qu'est un module en Python et comment l'utiliser.

Vous savez maintenant importer et utiliser un module simple (random) ainsi que vous servir d'une boucle while.

✅ Récapitulatif de Chapitre

Récapitulatif du Chapitre 2