Instructions conditionnelles alternatives
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Transcription textuelle
Objectif
Savoir enrichir une instruction conditionnelle avec des alternatives.
Mise en situation
L'instruction if peut être complétée par autant d'alternatives que nécessaire dans le cas où la condition est fausse.
Si... alors si... sinon...
L'instruction if va souvent de pair avec le else. Ce dernier permet de ne pas faire se succéder des blocs if inutilement et d'offrir une alternative au premier bloc.
En effet, un bloc else n'est exécuté que si la condition du bloc if n'est pas remplie, tandis que les conditions des blocs if simples sont systématiquement évaluées.
Méthode : Instruction else
L'instruction else est le « sinon »
de l'instruction conditionnelle. Si la première condition n'est pas remplie et que le premier bloc est par conséquent ignoré, il est possible d'exécuter un autre bloc d'instructions alternatif. Le else est ignoré si la première condition est remplie.
Cela équivaut à dire : « Si condition vraie alors faire ... Sinon faire ... »
.
Exemple :
/** JavaScript : condition fausse, affiche 'Un Vodka-Martini' */if (7 === '007') {
console.log('...Bond, James Bond')
} else {console.log('Un Vodka-Martini')
}
"""Python : condition fausse, affiche 'Un Vodka-Martini'."""if 7 == '007':
print('...Bond, James Bond')
else:print('Un Vodka-Martini')
Il n'est pas obligatoire de se limiter à une seule alternative : une instruction conditionnelle peut contenir plusieurs else if à la suite permettant d'enchaîner les conditions jusqu'à en remplir une. Dès qu'une condition est vraie, les suivantes sont ignorées.
Exemple :
/** JavaScript : affiche "Plutôt grand" */const height = 180
if (height < 150) {
console.log('Plutôt petit')
} else if (height < 180) {
console.log('Plutôt moyen')
} else {console.log('Plutôt grand')
}
"""Python : affiche "Plutôt grand"."""height = 180
if height < 150:
print('Plutôt petit')
elif height < 180:
print('Plutôt moyen')
else:print('Plutôt grand')
Remarque :
Selon les langages, on peut retrouver plusieurs manières d'écrire l'instruction else if. En JavaScript, on utilise simplement else suivit d'un nouveau if, tandis qu'en Python la syntaxe est raccourcie en elif (contraction de else et if).
Imbrication
Il est possible d'écrire une structure conditionnelle à l'intérieur d'une autre structure conditionnelle, pour simplifier le code et éviter d'évaluer plusieurs fois la même condition. Cette imbrication peut être réalisée un nombre quelconque de fois, même s'il est préférable d'éviter une imbrication trop profonde.
Exemple : Imbrication
const number = 42
if(number > 10) {
if (number < 30) {
console.log('Nombre entre 10 et 30')
}
else if (number < 50) {
console.log('Nombre entre 30 et 50')
}
else {console.log('Nombre supérieur ou égal à 50')
}
}
else {console.log('Nombre inférieur ou égal à 10')
}
L'imbrication des structures conditionnelles permet ici d'éviter de répéter plusieurs fois la condition number > 10 : à l'intérieur du bloc, on a déjà la garantie que number est supérieur à 10.
Complément :
En JavaScript, l'instruction switch est une autre syntaxe pour exprimer des alternatives.
À retenir
Un bloc if peut être prolongé par un bloc else pour exprimer une alternative par défaut, et il est même possible d'enchaîner plusieurs blocs else if pour exprimer plusieurs alternatives conditionnelles.
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.