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 == 22 * 3 == 32 + 3 != 414 >= 152 ** 3 == 613 >= 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.
pays == "Suisse"pays != "France"temperature > 20temperature < 26.2temperature < 26temperature != 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))
Solution
Programme 1
Programme 2
Programme 3
Programme 4
Exemple avec if#
Le bloc d'instructions ne sera exécuté que si la condition est vraie.
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é.
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.
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.")
Quel message sera affiché si l'utilisateur répond 21?
Que se passe-t-il si l'utilisateur entre 16 ans?
Que se passe-t-il si l'utilisateur entre -10?
Que se passe-t-il si l'utilisateur entre 17.5?
Solution
Vérifiez vos réponses en exécutant le code.
1age = int(input("Quel âge as-tu? "))
2if age >= 18:
3 print("Tu es majeur.")
4else:
5 print("Tu es mineur.")
Exercice 14#
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)
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)
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)
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)
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)
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# 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.
Solution
1a = ... # choisir la valeur de a 2if a == 0 : # a == 0 pour la comparaison 3 print("a est nul.") 4elif a < 0 : 5 print("a est plus petit que 0.") 6else: 7 print("a est plus grand que 0")
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).
Solution
1a = 3 # choisir la valeur de a 2b = 4 # choisir la valeur de b 3if b != 0 : # tester que b n'est pas nul 4 print(a / b) 5else: 6 print("La division par 0 est impossible.")
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?"))
Solution
1prix_unitaire = 1.5
2nb_canettes = int(input("Nombre de canettes de Red Bull à acheter?"))
3if nb_canettes < 0:
4 print("La quantité doit être un nombre positif.")
5else:
6 print("Prix à payer:", nb_canettes * prix_unitaire, "CHF.")
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...
Solution
1age = int(input("Quel âge as-tu?"))
2if age < 16:
3 print("Tu ne peux pas acheter d'alcool.")
4elif age < 18:
5 print("Tu peux acheter de la bière et du vin.")
6else:
7 print("Tu peux acheter de l'alcool.")
Exercice 18#
Le programme ci-dessous demande 3 notes à l'utilisateur. Complétez-le de manière à ce qu'il:
calcule et affiche la moyenne des 3 notes,
affiche
Tu n'as aucune note insuffissanteseulement 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")
Solution
1math = float(input("Quelle est ta note de math?"))
2francais = float(input("Quelle est ta note de français?"))
3allemand = float(input("Quelle est ta note d'allemand?"))
4
5# Calculez et afficher la moyenne
6moyenne = (math + francais + allemand) / 3
7print("La moyenne est de", moyenne)
8
9# Testez et affichez si toutes les notes sont suffisantes ou pas
10if math >= 4 and francais >= 4 and allemand >= 4:
11 print("Tu n'as aucune note insuffisante")
12else:
13 print("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)
Solution
Programme 1
Programme 2
Programme 3