Condition

Lang 03

Durée conseillée: 10 minutes

Activité 1

Information

Une condition est une expression qui ne peut être que vraie (True) ou fausse (False). On parle d’expression booléenne.

  1. Ouvrir l’EDI Thonny
  2. Dans la console, exécuter les instructions suivantes:
À retenir

Rappel: Le signe > > > est l’invite de commandes. L’interpréteur attend une instruction de l’utilisateur.

Il ne faut pas recopier ce signe.

>>> 3 < 4
>>> 3 >= 4
>>> 3 == 4
>>> 3 < "4"
>>> 3 < 4
True
>>> 3 >= 4
False
>>> 3 == 4
False
À retenir

Pour comparer l’égalité de deux valeurs, on utilise l’opérateur == (double égal). En effet, = (simple égal) est un opérateur d’affectation: il permet d’affecter une valeur à une variable (voir activités variables)

À retenir
x = 42

Ceci est une instruction: son exécution fait quelque chose.

À retenir
x == 42

Ceci est une expression: son évaluation renvoie une valeur.

>>> 3 < "4"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'int' and 'str'
À retenir

On ne peut comparer que des valeurs de même type.

Activité 2

Information

Une structure conditionnelle est alors une fonctionnalité du langage de programmation, qui n’exécute des instructions que si l’évaluation de l’expression booléenne renvoie True.

On peut traduire l’algorithme ci-dessous,

si mon expression booléenne est vraie alors
    faire quelque chose

par son implémentation en Python:

if mon_expression_booleenne:
    print("Correct!")
  1. Dans Thonny, créer un nouveau document condition.py.
  2. Tester le code ci-dessus
Remarque

Il faudra remplacer mon_expression_booleenne par une expression de l’activité 1.

À retenir

En Python:

  • si se traduit if
  • alors est représenté par :
  • l’indentation (le décalage) indique l’ensemble des instructions à réaliser si la condition est vérifiée.

Activité 3

  1. Dans Thonny, créer un nouveau document condition_nb.py.
  2. Écrire le code suivant:
nb1 = int(input("Entrer un premier nombre: "))
nb2 = int(input("Entrer un second nombre: "))
Remarque

Ce code permet de demander 2 nombres à l’utilisateur (voir activités entrée/sortie)

  1. Compléter le programme pour que la phrase Ces nombres sont égaux. s’affiche dans la console si les deux nombres sont égaux.
nb1 = int(input("Entrer un premier nombre: "))
nb2 = int(input("Entrer un second nombre: "))

if nb1 == nb2:
    print("Ces deux nombres sont égaux.")

Activité 4

Information

Il est possible de réagir également si la condition n’est pas vérifiée.

On peut traduire l’algorithme ci-dessous,

si mon expression booléenne est vraie alors
    faire quelque chose
sinon
    faire autre chose

par son implémentation en Python:

if mon_expression_booleenne:
    print("Correct!")
else:
    print("Incorrect!")

Compléter le programme précédent pour que la phrase Ces deux nombres sont différents. s’affiche si les deux nombres ne sont pas égaux.

nb1 = int(input("Entrer un premier nombre: "))
nb2 = int(input("Entrer un second nombre: "))

if nb1 == nb2:
    print("Ces deux nombres sont égaux.")
else:
    print("Ces deux nombres ne sont pas égaux.")
Information

Le else est toujours situé à la même hauteur que if

Exemple d’erreur courante:

if nb1 == nb2:
    print("Ces deux nombres sont égaux.")
    else: # mauvaise indentation
        print("Ces deux nombres ne sont pas égaux.")

Activité 5

Information

Il est également possible de gérer plus de deux cas.

On peut traduire l’algorithme ci-dessous,

si mon expression booléenne est vraie alors
    faire quelque chose
sinon si mon autre expression booléenne est vraie alors
    faire autre chose
sinon
    faire encore autre chose

par son implémentation en Python:

if mon_expression_booleenne:
    print("Correct!")
elif mon_autre_expression_booleenne:
    print("Presque!")
else:
    print("Incorrect!")
Information

elif est une contraction de else if.

Modifier le programme précédent pour afficher:

  • Ces deux nombres sont égaux. si les nombres sont identiques
  • Le nombre 1 est plus grand que le nombre 2 si nb1 est plus grand que nb2
  • Le nombre 2 est plus grand que le nombre 1 si nb2 est plus grand que nb1
nb1 = int(input("Entrer un premier nombre: "))
nb2 = int(input("Entrer un second nombre: "))

if nb1 == nb2:
    print("Ces deux nombres sont égaux.")
elif nb1 > nb2:
    print("Le nombre 1 est plus grand que le nombre 2")
else:
    print("Le nombre 2 est plus grand que le nombre 1")

Une autre version:

nb1 = int(input("Entrer un premier nombre: "))
nb2 = int(input("Entrer un second nombre: "))

if nb1 == nb2:
    print("Ces deux nombres sont égaux.")
elif nb1 > nb2:
    print("Le nombre 1 est plus grand que le nombre 2")
elif nb2 > nb1:
    print("Le nombre 2 est plus grand que le nombre 1")
À retenir

else et elif sont optionnels.