Python >> Tutoriel Python >  >> Python

Comment vérifier plusieurs conditions dans une instruction Python if

Les instructions conditionnelles sont des commandes permettant de gérer les décisions, ce qui en fait un concept de programmation fondamental. Ils vous aident à exécuter sélectivement certaines parties de votre programme si certaines conditions sont remplies. Dans cet article, nous vous dirons tout ce que vous devez savoir sur l'utilisation de plusieurs instructions conditionnelles en Python. Et nous vous montrerons de nombreux exemples pour démontrer le mécanisme de fonctionnement de tout cela.

Python a une syntaxe simple et claire, ce qui signifie que le code est facile à lire et à interpréter. Cela est particulièrement vrai pour les déclarations conditionnelles, qui peuvent presque être lues comme une phrase en anglais. Cela fait de Python un excellent langage à apprendre pour les débutants. Pour ceux d'entre vous qui découvrent Python, envisagez de suivre notre cours Python Basics; il lancera votre parcours de programmation et vous donnera de solides compétences de base en Python.

Python si Déclaration

Le point de départ des conditions de gestion est un seul if instruction qui vérifie si une condition est vraie. Si c'est le cas, le bloc de code en retrait directement sous le if l'instruction est exécutée. La condition doit évaluer soit True ou False . Si vous souhaitez connaître les détails du if de Python instructions, vous en trouverez plus dans cet article sur les termes Python pour les débutants. La partie 2 de Python Terms for Beginners est également une lecture intéressante lorsque vous débutez avec la programmation.

Le if instruction en Python prend la forme suivante :

>>> if condition == True:
...     print('Condition is True')

Avant d'aller plus loin, regardons les opérateurs de comparaison. En Python, il y a six possibilités :

  • Égal à : a == b
  • Pas égal : a != b
  • Moins de :a < b
  • Inférieur ou égal à : a <= b
  • Supérieur à :a > b
  • Supérieur ou égal à :a >= b

Notez que l'opérateur de comparaison égal ( == ) est différent de l'opérateur d'affectation ( = ).

Essayons maintenant d'évaluer un exemple de condition :

>>> temperature = 35
>>> temperature > 25
True

Ici, nous définissons la variable temperature = 35 . Dans la ligne suivante, on teste si cette valeur est supérieure à 25, ce qui renvoie la valeur booléenne True . Mettons maintenant cela dans un if déclaration :

>>> temperature = 35
>>> if temperature > 25:
...     print('Warm')
Warm

La condition est évaluée à vrai, qui exécute ensuite le bloc indenté (print('Warm') ). Cet exemple équivaut à écrire « Si la température est supérieure à 25, écrivez le mot « chaud ». Comme vous pouvez le voir sur le code, c'est un peu comme la phrase écrite !

Opérateurs logiques

Si nous voulons joindre deux ou plusieurs conditions dans le même if déclaration, nous avons besoin d'un opérateur logique. Il existe trois opérateurs logiques possibles en Python :

  • and – Renvoie True si les deux affirmations sont vraies.
  • or – Renvoie True si au moins une des affirmations est vraie.
  • not – Inverse la valeur booléenne ; renvoie False si l'énoncé est vrai, et True si l'énoncé est faux.

Pour les implémenter, nous avons besoin d'une deuxième condition à tester. Alors, créons une autre variable et testons si elle est au-dessus d'un seuil :

>>> temperature = 35
>>> humidity = 90
>>> if temperature > 30 and humidity > 85:
...     print('Hot and humid')
Hot and humid

Le or l'opérateur ne nécessite qu'une seule condition pour être True . Pour le montrer, nous allons réduire la température et utiliser le or opérateur de comparaison :

>>> temperature = 20
>>> humidity = 90
>>> if temperature > 30 or humidity > 85:
...     print('Hot, humid, or both')
Hot, humid, or both

Notez que ou ne nécessite qu'une seule condition pour évaluer à True . Si les deux conditions évaluent à True , le bloc de code indenté directement en dessous sera toujours exécuté.

L'opérateur not peut sembler un peu déroutant au début, mais il inverse simplement la valeur de vérité d'une condition. Par exemple :

>>> not True
False

>>> not False
True

On peut l'utiliser pour tester si la température est plus froide (c'est-à-dire pas plus chaude) qu'un seuil :

>>> temperature = 15
>>> if not temperature > 20:
...     print('Cool')
Cool

En les utilisant comme éléments de base, vous pouvez commencer à assembler des tests plus complexes :

>>> temperature = 25
>>> humidity = 55
>>> rain = 0
>>> if temperature > 30 or humidity < 70 and not rain > 0:
...     print('Dry conditions')
Dry conditions

Ce if équivaut à "Si la température est supérieure à 30 (c'est-à-dire fausse) OU l'humidité est inférieure à 70 (vrai) et qu'il ne pleut pas (vrai), alors écrivez...". Dans le code, cela pourrait ressembler à ceci :

>>> if False or True and True:
...     print('Dry conditions')
Dry conditions

if-elif-else de Python Déclarations

Alors, que se passe-t-il lorsque la condition dans le if l'instruction est évaluée à False ? Ensuite, nous pouvons vérifier plusieurs conditions en ajoutant simplement un else-if instruction, qui est raccourcie en elif en Python. Voici un exemple utilisant elif pour définir différentes catégories de température :

>>> temperature = 25
>>> if temperature > 30:
...     print('Hot')
>>> elif temperature > 20 and temperature <= 30:
...     print('Warm')
Warm

Notez l'utilisation de l'opérateur de comparaison > dans le if déclaration et de <= dans le elif déclaration. Le deuxième opérateur signifie que si la température est de 30 exactement, elle appartient au 'Warm ' Catégorie. La dernière étape consiste à ajouter un else à la fin, qui capture tout le reste non défini dans le if et elif conditions.

>>> temperature = 25
>>> if temperature > 30:
...     print('Hot')
>>> elif temperature > 20 and temperature <= 30:
...     print('Warm')
>>> else:
...     print('Cool')
Warm

La dernière instruction else gère tout ce qui ne relève pas des autres instructions. Dans ce cas, temperature <= 20 imprimera 'Cool '. Notez également que le elif l'instruction peut être écrite de manière plus concise en Python (dans cet exemple, 20 < temperature <= 30 ).

Si vous vouliez créer plus de catégories, vous pourriez ajouter plus de elif déclarations. Le elif et else les déclarations sont facultatives. Mais c'est toujours bien de finir par un else déclaration, pour s'assurer que tout ce qui est inattendu est toujours capturé. Cela peut être utile pour déboguer des instructions conditionnelles plus compliquées. Par exemple, si nous quantifions la quantité de pluie en millimètres par heure, nous pourrions faire quelque chose comme ceci :

>>> rain = -10
>>> if rain > 0 and rain <=3:
...     print('Light rain')
>>> elif rain > 3 and rain <=8:
...     print('Moderate rain')
>>> elif rain > 8:
...     print('Heavy rain')
>>> else:
...     print('Something unexpected happened!')
Something unexpected happened!

Avoir le else final La déclaration ici vous alertera s'il y a une erreur inattendue quelque part, par ex. une valeur négative.

Maintenant que vous connaissez plusieurs conditions en Python…

Vous devriez maintenant avoir tout ce que vous devez savoir pour commencer à implémenter plusieurs instructions conditionnelles en Python. Ces exemples ont été conçus pour vous montrer les bases du fonctionnement de ces instructions, alors passez à l'étape suivante et prolongez ce que vous avez appris ici. Par exemple, essayez de combiner if-elif-else déclarations en boucle. Définissez une liste de valeurs, parcourez-les et testez leurs valeurs. Si vous avez besoin d'informations sur les boucles for en Python, consultez Comment écrire une boucle For en Python.

Si vous souhaitez en savoir plus sur les structures de données en Python, nous sommes là pour vous. Dans Arrays vs. Lists in Python, nous expliquons la différence entre ces deux structures. Nous avons également un article qui détaille les listes, les tuples et les ensembles et un autre qui explique la structure des données du dictionnaire en Python. Avec un peu de pratique, vous maîtriserez bientôt les conditions, les boucles et les structures de données de Python.