Révisions - Instructions conditionnelles#

Une instruction conditionnelle est composée d'une condition puis d'un bloc d'instructions. La condition est une expression ou une variable logique évaluée par True ou False. Le bloc d'instructions s'exécute seulement si la condition est vérifiée.

Opérateurs logiques#

Les opérateurs logiques permettent de combiner plusieurs conditions simples

Opérateur

Description

and

retourne True si les deux conditions sont vraies

or

retourne True si au moins une des conditions est vraie

not

inverse le résultat, renvoie True si le résultat est faux et vice-versa

Exercice 10#

Est-ce que les conditions suivantes sont True (vrai) ou False (faux)?

  1. 1 + 1 == 2

  2. 2 * 3 == 3

  3. 2 + 3 != 4

  4. 14 >= 15

  5. 2 ** 3 == 6

  6. 13 >= 13

Exercice 11#

Est-ce que les conditions suivantes sont True (vrai) ou False (faux), sachant que la variable pays contient la valeur "Suisse" et la variable temperature la valeur 26.2.

  1. pays == "Suisse"

  2. pays != "France"

  3. temperature > 20

  4. temperature < 26.2

  5. temperature < 26

  6. temperature != 26.2

Exercice 12#

Que vont afficher chacun de ces programmes?

Programme 1

Que va afficher ce programme?

1a = 22
2b = 5
3c = 1
4print((a > b) and (b <= c))

Programme 2

Que va afficher ce programme?

1a = 11
2b = 3
3c = 0
4print((a < b) or (c == 0))

Programme 3

Que va afficher ce programme?

1a = 11
2b = 3
3c = 0
4print((a < b) or (c != 0))

Programme 4

Que va afficher ce programme?

1a = 1.5
2b = 3.2
3print(not(a <= b))

Exemple avec if#

Le bloc d'instructions ne sera exécuté que si la condition est vraie.

Ordinogramme if
1print("Début")
2meteo = "soleil"
3if meteo == "pluie":
4  print("Je prends un parapluie.")
5print("Fin")

Dans l'exemple ci-dessus, il ne se passe rien, la condition n'est pas vérifiée.
Changez la météo en "pluie". Que se passe-t-il?

Exemple avec if ... else#

Le bloc d'instructions après le if sera exécuté si la condition est vraie, sinon ce sera le bloc d'instructions du else qui sera exécuté.

Ordinogramme if-else
1moyenne = 5
2if moyenne >= 4:
3  print("Moyenne suffisante")
4else:
5  print("Moyenne insuffisante")

Dans l'exemple ci-dessus, soit la moyenne est suffisante (moyenne supérieure ou égale à 4), soit elle est insuffisante (moyenne inférieure à 4). Il n'y a pas d'autres possibilités.

Exemple avec if ... elif ... else#

Certaines situations nécessitent de distinguer plus qu'un ou deux cas.

Ordinogramme if-elif-else
 1type_film = "comédie"
 2
 3if type_film == "action":
 4  print("Explosions et des cascades de folie!")
 5elif type_film == "comédie":
 6  print("Mort de rire!")
 7elif type_film == "horreur":
 8  print("Terrifiant!")
 9else:
10  print("Je ne connais pas.")

Dans l'exemple ci-dessus, il y a le choix entre trois types de films (action, comédie et horreur). Le branchement else gérera tous les autres cas.

Exercice 13#

1age = int(input("Quel âge as-tu? "))
2if age >= 18:
3  print("Tu es majeur.")
4else:
5  print("Tu es mineur.")
  1. Quel message sera affiché si l'utilisateur répond 21?

  2. Que se passe-t-il si l'utilisateur entre 16 ans?

  3. Que se passe-t-il si l'utilisateur entre -10?

  4. Que se passe-t-il si l'utilisateur entre 17.5?

Exercice 14#

  1. Que va afficher ce programme?

    1x = 2
    2if x <= -1:
    3  print(2 * x + 1)
    4elif x <= 3:
    5  print(-x + 2)
    6else:
    7  print(2 * x - 5)
    

  2. Que va afficher ce programme?

    1x = -4
    2if x <= -1:
    3  print(2 * x + 1)
    4elif x <= 3:
    5  print(-x + 2)
    6else:
    7  print(2 * x - 5)
    

  3. Que va afficher ce programme?

    1x = 4
    2if x <= -1:
    3  print(2 * x + 1)
    4elif x <= 3:
    5  print(-x + 2)
    6else:
    7  print(2 * x - 5)
    

  4. Que va afficher ce programme?

    1x = 2
    2if x <= 3:
    3  print(-x + 2)
    4elif x <= -1:
    5  print(2 * x + 1)
    6else:
    7  print(2 * x - 5)
    

  5. Que va afficher ce programme?

    1x = -4
    2if x <= 3:
    3  print(-x + 2)
    4elif x <= -1:
    5  print(2 * x + 1)
    6else:
    7  print(2 * x - 5)
    

  6. Que va afficher ce programme?

    1x = 4
    2if x <= -1:
    3  print(2 * x + 1)
    4elif x <= 3:
    5  print(-x + 2)
    6else:
    7  print(2 * x - 5)
    

Exercice 15#

  1. 1# Complétez le programme
    2a = ...
    3if ... :
    4  print("a est nul.")
    5elif ... :
    6  print("a est plus petit que 0.")
    7else:
    8  print("a est ...")
    

    Testez la justesse de votre code avec a= -7, a = 0 et a = 11.

  2. 1# Complétez le programme
    2a = ...
    3b = ...
    4if ... :                                        # tester que b n'est pas nul
    5  print(a / b)
    6else:
    7  print("La division par 0 est impossible.")
    

    Testez la justesse de votre code avec différentes valeurs de a et de b (a = 7, b = 2 / a = 15, b = -3 / a = 0 , b = 5 / a = 12 , b = 0).

Exercice 16#

Nous souhaitons créer un programme qui calcule le prix à payer lors de l'achat de canette de Red Bull dont le prix unitaire est de 1.50 CHF.

Écrivez un programme qui correspond à l'algorithme suivant:

Stocker le prix d'une canette de Red Bull dans la variable prix_unitaire
Demander à l'utilisateur combien de canettes il souhaite acheter et stocker cette valeur dans nb_canettes
Si le nb_canettes est plus petit que 0
    afficher "La quantité doit être un nombre positif."
Sinon
    calculer et afficher le prix à payer
1# Modifiez et complétez le programme
2prix_unitaire = ...
3nb_canettes = int(input("Nombre de canettes de Red Bull à acheter?"))

Exercice 17#

Écrivez un programme qui correspond à l'algorithme suivant:

Demander l'âge de l'utilisateur et le stocker dans la variable age
Si age est plus petit que 16
    afficher "Tu ne peux pas acheter d'alcool."
Sinon si age est plus petit que 18
    afficher "Tu peux acheter de la bière et du vin."
Sinon
    afficher "Tu peux acheter de l'alcool."
1# Modifiez et complétez le programme
2... input("Quel est votre âge?")
3...

Exercice 18#

Le programme ci-dessous demande 3 notes à l'utilisateur. Complétez-le de manière à ce qu'il:

  1. calcule et affiche la moyenne des 3 notes,

  2. affiche Tu n'as aucune note insuffissante seulement si ces 3 notes sont supérieures ou égales à 4.

 1math = float(input("Quelle est ta note de math?"))
 2français = float(input("Quelle est ta note de français?"))
 3allemand = float(input("Quelle est ta note d'allemand?"))
 4
 5# Complétez le code à partir de là
 6# Calculez et afficher la moyenne
 7print("La moyenne est de")
 8
 9# Testez et affichez si toutes les notes sont suffisantes ou pas
10print("Tu n'as aucune note insuffisante")
11
12print("Tu as au moins 1 note insuffisante")

Exercice 19#

Quelles sont les différences entre ces trois programmes?

Programme 1

Que va afficher ce programme?

 1x = -4
 2if x < 0:
 3  x += 7
 4if x < 5:
 5  x *= 4
 6if x < 10:
 7  x -= 6
 8else:
 9  x = 1000
10print(x)

Programme 2

Que va afficher ce programme?

 1x = -4
 2if x < 0:
 3  x += 7
 4elif x < 5:
 5  x *= 4
 6elif x < 10:
 7  x -= 6
 8else:
 9  x = 1000
10print(x)

Programme 3

Que va afficher ce programme?

 1x = -4
 2if x < 0:
 3  x += 7
 4  if x < 5:
 5    x *= 4
 6    if x < 10:
 7      x -= 6
 8else:
 9  x = 1000
10print(x)