6. Les embranchements conditionnels

L’instruction conditionnelle, utilisée avec le mot clé if est comme un aiguillage qui permet d’emprunter plusieurs chemins dont un seul sera accessible à un moment donné.

Voici un exemple ou, basé sur votre âge, le programme exécute soit le premier bloc (if) soit le deuxième bloc (else). Il affiche si vous êtes majeur·e ou pas. Testez-le en entrant différents âges, p. ex. 10, 17, 18, 20.

Le mot-clé elif est une contraction de else if et permet de continuer à tester d’autres conditions. Trouvez le signe d’un nombre.

Sans le mot-clé elif nous devrions mettre le bloc if à l’intérieur du bloc else en indentation. Avec multiples conditions, les blocs se décalent de plus en plus et rendent le programme illisible.

En résumé, la syntaxe pour écrire une condition est la suivante :

if condition1 :
    chemin1
elif condition2 :
    chemin2
else :
    chemin3

condition1 et condition2 sont des conditions qui peuvent être vraies ou fausses, ou plus précisément True ou False, et chemin1, chemin2 et chemin3 sont des suites d’instructions. Il peut y avoir aucun ou un seul else (sinon) et aucun ou plusieurs elif (sinon, si).

Question

Qu’affiche le programme suivant ?

nom = "Albert"
if nom == "Gérard" :
	print("salut")
elif nom == "Albert":
	print("bienvenue")
else :
	print("bonjour")




Exercice 1

Écrivez une fonction qui prendre en entrée un nombre entier entre 1 et 6 et qui retourne ‘oui’ si c’est un cinq ou un six ou ‘non’ sinon. Votre fonction va être testées sur 20 nombres aléatoires.

Considérez le programme suivant :

nombre = int(input())

if nombre == 0 :
    print(3)
elif nombre > 0 :
    print(nombre)
elif nombre == 1 :
    print(0)
else :
    print(-1)

Il est important de comprendre que dès qu’un test est vérifié (if ou `elif), on entre dans l’embranchement et on ne va pas tester les autres conditions.

Question

Quelle valeur numérique s’affiche à la fin du programme précédent si la valeur entrée par l’utilisateur ou l’utilisatrice est -2 ?





Question

Quelle valeur numérique s’affiche à la fin du programme précédent si la valeur entrée par l’utilisateur ou l’utilisatrice est 1 ?





Question

Le code Python ci-dessous décrit la fin d’un programme de quiz, durant lequel l’utilisateur a marqué un certain nombre de points en répondant à des questions.

if points == 10:
    print("Score parfait")
elif points > 7:
    print("Très bon score")
elif points > 5:
    print("Bon score")
else:
    print("Vous ferez mieux la prochaine fois")
print("Fin du quiz")

Si l’utilisateur a marqué 7 points, quel(s) message(s) seront affichés à la fin du programme ?