⊗pyPmLpFl 162 of 208 menu

Travailler avec des indicateurs en Python

Un indicateur - est une variable spéciale, qui ne peut prendre que deux valeurs : True ou False. À l'aide d'indicateurs, on peut résoudre des tâches vérifiant l'absence de quelque chose : par exemple, on peut vérifier qu'il n'y a pas d'élément avec une valeur spécifique dans une liste.

Résolvons la tâche suivante : une liste de nombres est donnée, il faut vérifier si tous les éléments sont positifs. Pour cela, définissons une variable spéciale flag, qui sera vraie avant le début de la boucle. Et lorsqu'un nombre négatif est rencontré dans la boucle, nous changerons sa valeur en False. Pour connaître le résultat de la vérification, affichons la variable flag après la boucle dans la console :

lst = [1, 2, 3, 4, 5] flag = True for el in lst: if el < 0: flag = False print(flag) # affichera True, car tous les nombres sont positifs

Il est considéré comme une bonne pratique de donner à la variable indicateur un nom qui reflète la condition définie. Renommons flag en isAllPositive. Et pour plus de clarté, changeons un nombre de la liste en négatif :

lst = [1, 2, 3, -4, 5] isAllPositive = True for el in lst: if el < 0: isAllPositive = False print(isAllPositive) # affichera False, car il y a un nombre négatif

Si la liste parcourue contient de nombreuses valeurs et qu'il faut arrêter la boucle après la détection du premier nombre négatif, il faut alors utiliser l'instruction break :

for el in lst: if el < 0: isAllPositive = False break

Lorsqu'on travaille avec des indicateurs, pour connaître le résultat de l'exécution de la boucle, on peut afficher non pas la valeur de l'indicateur, mais un message arbitraire à l'aide d'un if supplémentaire.

Réécrivons l'exemple précédent. Si tous les éléments sont positifs, alors affichons '+++', sinon - '---' :

for el in lst: if el < 0: isAllPositive = False break if isAllPositive: print('+++') else: print('---') # affichera '---'

Une liste est donnée. Vérifiez que tous ses éléments sont des nombres positifs.

Un nombre entier est donné. Vérifiez s'il est premier, c'est-à-dire s'il n'est divisible que par un et par lui-même.

azbydeenesfrkakkptruuz