La prise de décision est l'un des concepts les plus fondamentaux de la programmation informatique. Python prend en charge les instructions de contrôle de flux courantes trouvées dans d'autres langages, avec quelques modifications. Le if
L'instruction de contrôle est l'une des instructions les plus élémentaires et les plus connues utilisées pour exécuter du code en fonction d'une condition spécifique.
Dans cet article, nous allons passer en revue les bases du if
instruction en Python.
Python if
Relevé #
La forme la plus basique du if
l'instruction en Python est la suivante :
if EXPRESSION:
STATEMENT
Le if
l'instruction commence par if
mot-clé suivi de l'expression conditionnelle.
L'EXPRESSION
doit être suivi de (:
) côlon. Si l'EXPRESSION
est évalué à True
, la STATEMENT
se fait exécuter. Si EXPRESSION
renvoie False
, il ne se passe rien; le STATEMENT
est ignoré. STATEMENT
être n'importe quelle déclaration, y compris plusieurs déclarations ou encore if
imbriqué déclarations. Pour n'exécuter aucune instruction, utilisez le pass
déclaration.
La STATEMENT
bloc commence par une indentation et se termine par la première ligne non indentée. La plupart des gens choisissent d'utiliser une indentation à 4 ou 2 espaces. Le guide de style officiel pour Python Code recommande d'utiliser 4 espaces par niveau d'indentation et d'éviter de mélanger les tabulations et les espaces pour l'indentation.
Regardons l'exemple de script suivant qui vérifie si un nombre donné est supérieur à 5.
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
Enregistrez le code dans un fichier et exécutez-le depuis la ligne de commande :
python test.py
Le script vous demandera d'entrer un nombre. Par exemple, si vous entrez 10, l'expression conditionnelle sera évaluée à True
(10 est supérieur à 5), et le print
fonction sera exécutée.
10 is greater than 5.
Python prend en charge les opérations de comparaison standard :
a == b
- Vrai sia
etb
sont égaux.a != b
- Vrai sia
etb
ne sont pas égaux.a > b
- Vrai sia
est supérieur àb
.a >= b
- Vrai sia
est égal ou supérieur àb
.a < b
- Vrai sia
est inférieur àb
.a <= b
- Vrai sia
est égal ou inférieur àb
.
Vous pouvez également utiliser le in
mot-clé pour vérifier si une valeur est présente dans un itérable (chaîne, liste, tuple, dictionnaire, etc.) :
s = 'linuxize'
if 'ze' in s:
print('True.')
Voici un autre exemple utilisant un dictionnaire :
d = {'a': 2, 'b': 4}
if 'a' in d:
print('True.')
Lorsqu'il est utilisé sur un dictionnaire, le in
mot-clé vérifie si le dictionnaire a une clé spécifique.
Pour nier l'expression conditionnelle, utilisez la logique not
opérateur :
number = int(input('Enter a number: '))
if not number < 5:
print(number, 'is greater than 5.')
if..else
Relevé #
Un if..else
instruction évalue une condition et exécute l'une des deux instructions en fonction du résultat.
Le Python if..else
déclaration prend la forme suivante :
if EXPRESSION:
STATEMENT1
else:
STATEMENT2
Si EXPRESSION
est évalué à True
, STATEMENT1
est exécuté. Sinon, si EXPRESSION
renvoie False
, STATEMENT2
est exécuté. Vous ne pouvez avoir qu'un seul else
clause dans la déclaration.
Le else
le mot-clé doit se terminer par (:
) deux-points et être au même niveau d'indentation que le if
correspondant mot-clé.
Ajoutons un else
clause à l'exemple de script précédent :
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
else:
print(number, 'is equal or less than 5.')
Si vous exécutez le code et entrez un nombre, le script imprimera un message différent selon que le nombre est supérieur ou inférieur/égal à 5.
if..elif..else
Relevé #
Le elif
le mot-clé est l'abréviation de else if
.
Le Python if..elif..else
déclaration prend la forme suivante :
if EXPRESSION1:
STATEMENT1
elif: EXPRESSION2:
STATEMENT2
else:
STATEMENT3
Si EXPRESSION1
est évalué à True
, le STATEMENTS1
est exécuté. Si l'EXPRESSION2
est évalué à True
, le STATEMENTS2
est exécuté. Si aucune des expressions n'a la valeur True
, les STATEMENTS3
est exécuté.
Le elif
le mot-clé doit se terminer par (:
) deux-points et être au même niveau d'indentation que le if
correspondant mot-clé. Vous pouvez avoir un ou plusieurs elif
clauses dans la déclaration. Le else
clause est facultative. Si le else
la clause n'est pas utilisée et toutes les expressions sont évaluées à False
, aucune des instructions n'est exécutée.
Les conditions sont évaluées séquentiellement. Une fois qu'une condition renvoie True
, les conditions restantes ne sont pas exécutées et le contrôle du programme se déplace à la fin du if
déclarations.
Ajoutons un elif
clause au script précédent :
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
elif number < 5:
print(number, 'is less than 5.')
else:
print(number, 'is equal to 5.')
Contrairement à la plupart des langages de programmation, Python n'a pas de switch
ou case
déclarations. Une séquence de plusieurs elif
les instructions peuvent être utilisées comme substitut du switch
ou case
.
if
imbriqué Relevés #
Python vous permet d'imbriquer if
déclarations dans if
déclarations. Généralement, vous devriez toujours éviter les indentations excessives et essayer d'utiliser elif
au lieu d'imbriquer if
déclarations.
Le script suivant vous demandera d'entrer trois nombres et imprimera le plus grand nombre parmi les nombres.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2:
if number1 > number3:
print(number1, 'is the largest number.')
else:
print(number3, 'is the largest number.')
else:
if number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Voici à quoi ressemblera la sortie :
Enter the first number: 455
Enter the second number: 567
Enter the third number: 354
567 is the largest number.
Plusieurs conditions #
Le or
logique et and
les opérateurs vous permettent de combiner plusieurs conditions dans le if
déclarations.
Voici une autre version du script pour imprimer le plus grand nombre parmi les trois nombres. Dans cette version, au lieu du if
imbriqué instructions, nous utiliserons la logique and
opérateur et elif
.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2 and number1 > number3:
print(number1, 'is the largest number.')
elif number2 > number3 and number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Conclusion #
Le if
, if..else
et if..elif..else
vous permettent de contrôler le flux d'exécution de Python en évaluant des conditions données.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.