Structures conditionnelles
Last updated
Was this helpful?
Last updated
Was this helpful?
Maintenant que nous sommes à l'aise avec le début du code, voyons la suite :
Ligne 20 : while
n_Mno4[-1]
>=
0
and
n_Ferreux[-1]
>=
0
Ce qui a été mis en gras va maintenant être traité, il s'agit de ce qui va tourner autour des conditions et de la logique.
Un nouveau type de donnée est nécessaire pour parler logique, le booléen.
Il s'agit d'une variable qui prend deux états : vrai ou faux
Sur Python, il s'agit des mots True
et False
. Ce sont des mots réservés par python, vous ne pouvez donc pas nommer une variable avec par exemple.
En pratique, on ne va pas les utiliser explicitement, on le fera au travers de conditions qui permettront de vérifier si c'est "VRAI" ou "FAUX", et le traitement sera fait en fonction de la réponse.
IF
permet de vérifier une condition :
Un exemple plus parlant :
La structure se combien avec les opérateurs de comparaison :
Et aussi avec les opérateurs logiques : "AND
" et "OR
"
Enfin, il existe une variante de IF / ELSE qui ajoute le "ELIF". C'est la contraction de "ELSE IF" et permet de tester des conditions en série à la suite les unes des autres. Dès qu'une condition est vraie, le code de la 1ère condition vérifiée s'execute.
Une liste est générée à partir de 2 variables 'a' et 'b'. Vous devez définir une fonction qui prend en paramètre la liste et retourne le plus grand nombre des deux. Si les nombres sont égaux, afficher un message de votre choix.
While est visible dans l'extrait des E3C. Littéralement, elle signifie "tant que ..." et s'utilise ainsi :
L'instruction 'faire' s’exécute tant que la condition est vérifiée. C'est une boucle.
Attention : Si aucune condition de sortie n'est possible, le programme tourne indéfiniment ! C'est une boucle infinie. Le programme va planter.
Exemple
la condition "a < b" est vrai (1<5), on entre dans la boucle, et le code s’exécute. Puis 'a' est incrémenté, la condition reste vraie, etc... On obtient :
Quand a = 5, la condition est fausse, on n'entre pas dans la boucle. C'est pour cela que la valeur 5 ne s'affiche pas.
En physique, et souvent en Python d'ailleurs, on préférera utiliser une autre façon de boucler : la boucle FOR
FOR permet de boucler en réalisant des itérations sur une séquence donnée. Plus simplement, on utilise FOR quand on travaille sur un nombre de boucles fini, connu à l'avance. Par exemple quand on travaille sur une liste.
La boucle for s’exécute ainsi :
L’instruction est plus complexe, alors prenons un exemple :
Remarque : On a nommé element
les données de la liste. On peut les appeler comme on veut "i", "var", "truc" ...
Une façon élégante de parcourir une liste est d'utiliser la fonction range(nombre)
range(n) permet en effet de construire une liste de 0 à n-1. Ça tombe bien, les indices des éléments d'une liste de n éléments vont de 0 à n-1
Interprétation :
range(n) va construire une liste qui être parcourue dans la boucle. Cette liste sera temporaire en mémoire (on peut la conserver en affectant une variable : liste_range = list(range(n))
et sera [0,1,2,3,4,5]
for i in range(n)
signifie que pour chaque donnée "i" de cette liste, et il y en a 6, on va effectuer une action. On va également récupérer la valeur du "i".
Pour le premier cycle de la boucle, i = 0, on va donc afficher : liste[0]=21.
On se sert du "i" pour l'affichage, et aussi pour aller extraire les données de "liste" qui peuvent être lues par liste[0]
, liste[1]
, ...
On dispose de 3 listes contenant pour le nom des points, les abscisses et les ordonnées. On veut extraire les données et les afficher ensemble.
On souhaite obtenir un affichage type mathématique :