Les instructions if-else en Python
Les programmes que nous avons écrits jusqu'ici s'exécutent de manière très ordonnée. Ce n'est pas ainsi que fonctionnent les programmes dans le monde réel. Parfois, nous souhaitons exécuter un ensemble d'instructions uniquement lorsque certaines conditions sont remplies. Pour gérer ce type de situation, les langages de programmation fournissent des instructions spéciales appelées instructions de contrôle. En plus de contrôler le flux de programmes, nous utilisons également des instructions de contrôle pour boucler ou ignorer des instructions lorsque certaines conditions sont vraies.
Prérequis
Avant d'apprendre comment les pointeurs peuvent être utilisés avec des structures, assurez-vous de consulter les cours suivants:
Instruction if
Syntaxe :
if condition: < instruction indentée 1> < instruction indentée 2> < instruction indentée 1>
La première ligne de l'instruction i.e if condition: est appelée clause if et la condition est une expression booléenne évaluée à True ou False. La ligne suivante, nous avons un bloc d'instructions. Un bloc est simplement un ensemble d'une ou plusieurs instructions. Lorsqu'un bloc d'instructions est suivi de la clause if, Il est connu comme bloc if. Notez que chaque instruction à l'intérieur du bloc if doit être indentée du même nombre d'espaces. (Voir instructions, indentation)
Comment ça marche ?
Lorsque l'instruction if est exécutée, la condition est testée. Si la condition est vraie, toutes les instructions du bloc if sont exécutées. Par contre, si la condition est fausse, toutes les instructions du bloc if sont ignorées.
Les instructions suivies par la clause if qui ne sont pas en retrait n'appartiennent pas au bloc if. Par exemple, < instruction non indentée> ne fait pas partie du bloc if. En conséquence, il sera toujours exécuté, que la condition de la clause if soit vraie ou fausse.
Exemple 1 :
a=int(input("Saisir un nombre : ")) if a>0: print("le nombre est positif") print("bye")
le nombre est positif
bye
Saisir un nombre : -3
bye
Exemple 2 :
a=int(input("Saisir un nombre : ")) if a>0: print("le nombre est positif : ") c=a+5 print(a) print("bye")
le nombre est positif
5
bye
Saisir un nombre : -3
bye
Les programmes que nous avons écrits jusqu'à présent se terminent abruptement sans montrer aucune réponse à l'utilisateur si la condition est fausse. La plupart du temps, nous voulons montrer à l'utilisateur une réponse même si la condition est fausse. Nous pouvons facilement le faire en utilisant la déclaration if-else
Instruction if-else
Une instruction if-else exécute un ensemble d'instructions lorsque la condition est vraie et un ensemble d'instructions différent lorsque la condition est fausse. De cette manière, une instruction if-else nous permet de suivre deux lignes de conduite.
Syntaxe :
if condition: < instruction indentée 1> < instruction indentée 2> else: < instruction indentée 3> < instruction indentée 4> < instruction indentée 1>
Comment ça marche ?
Lorsque l'instruction if-else est exécutée, la condition est testée si elle est évaluée à True, les instructions à l'intérieur du bloc if sont exécutées. Toutefois, si la condition est False, les instructions du bloc else sont exécutées.
Exemple 3 :
a=int(input("Saisir un nombre : ")) if a>=0: print("le nombre est supérieur ou égal à 0") else: print("le nombre est négatif") print("bye")
le nombre est supérieur ou égal à 0
bye
Saisir un nombre : -3
le nombre est négatif
bye
Instruction if-elif-else
L'instruction if-else exécute deux codes différents selon que la condition est True ou False. Parfois, un choix doit être fait parmi plus de 2 possibilités.
if - elif - else vous permet de vérifier plusieurs conditions et d'exécuter différentes instructions.
Syntaxe :
if condition_1: < instruction indentée 1> < instruction indentée 2> elif condition_2: < instruction indentée 3> < instruction indentée 4> elif condition_3: < instruction indentée 5> < instruction indentée 6> ... else: < instruction indentée 7> < instruction indentée 8> < instruction indentée 1>
Comment ça marche ?
Lorsque l'instruction if-elif-else s'exécute, la condition_1 est d'abord testée. Si la condition est vérifiée, les instructions du bloc if sont exécutées. Les conditions et les instructions dans le reste de la structure sont ignorées et le contrôle sort de l'instruction if-elif-else pour exécuter les instructions qui la suivent.
Si condition_1 est fausse, le contrôle du programme passe à la clause elif suivante et la condition_2 est testée. Si condition_2 est vraie, les instructions du 1er bloc elif sont exécutées. Les conditions et les instructions dans le reste de la structure if-elif-else sont ignorées et le contrôle sort de l'instruction if-elif-else pour exécuter les instructions qui la suivent.
Ce processus se répète jusqu'à ce qu'une clause elif soit vérifiée. Au cas où aucune clause elif ne serait vraie, le bloc d'instructions du bloc else est enfin exécuté.
Exemple 4 :
a=int(input("Saisir un nombre : ")) if a>0: print("le nombre est positif") elif a< 0: print("le nombre est négatif") else: print("le nombre est nul") print("bye")
le nombre est positif
bye
Saisir un nombre : 0
le nombre est nul
bye
Saisir un nombre : -3
le nombre est négatif
bye
Instruction if-else imbriquée
Il est possible d'inclure une instruction if-else dans le corps d'une autre instruction if-else.
Exemple 5 :
a=int(input("Saisir un nombre : ")) if a>=0: if a==0: print("le nombre est nul") else: print("le nombre est positif") else: print("le nombre est négatif") print("bye")
le nombre est positif
bye
Saisir un nombre : 0
le nombre est nul
bye
Saisir un nombre : -3
le nombre est négatif
bye