Les operateurs logiques sont commes de operations arithmetic (+,-,*,/), dans le sens ou tu appliques les operateurs et il te calcule un resultat. Dans l'arithmetic on calcule des valeurs commes des nombres (1+1) tant dis que les operateurs logiques evaluent des booléens. Et le resultat est d'une operation logique est lui aussi un booléen.
Un booléen en python s'écrit True et False. True est vrai en anglais et False est faux.
Les operateurs logiques sont and, or, not. - X or Y: OU logique. Si X est True (donc vrai) on evalue le tous en tant que vrai sinon c'est la valeur de Y (soite True ou False). Donc il faut que au moins un des deux soit True pour être True
Les X et Y representent soite True ou False.
print(True and True) print(True or False) print(not True) print(not False or True) print(not (False) or True) print(15 or 16) # ceci provoque une erreur vu que les elements sont des nombres et pas des booléens.
On peut print les évaluations de cet façon. 15 or 16 ne s'effectue pas parcequ'il ne sont pas des booléens et on travaille avec des operateurs logique. print(not False or True) n'a pas le même résultat vu l'ordre des priorités. C'est comme dans les arithmetic ou il faut un certain ordre 1+2*3 equivaut 7 et non 9.
L'ordre de priorité est d'abord les or puis les and et finalement les not.
Ici des tables de vérité afin de mieux comprendre les operateurs logiques.
Inputs | Output | |||
---|---|---|---|---|
X | Y | X or Y | X and Y | not Y |
False | False | False | False | True |
True | False | True | False | True |
False | True | True | False | False |
True | True | True | True | False |
Après avoir testé des instructions d'une façon linéaire : l'interpréteur exécutait au fur et à mesure le code saisi dans la console. Mais il ya moyen d'enrichir nos programmes en demandant à exécuter certaines instructions dans un cas, et d'autres instructions dans un autre cas.
Dans ce chapitre, nous parlerons des structures conditionnelles, qui vont permettre de réaliser des tests et d'aller plus loin dans la programmation.
Les conditions permettent d'exécuter une ou plusieurs instructions dans un cas, d'autres instructions dans un autre cas.
L'instruction if permet d'exécuter le code se trouvant en dessous de lui si la condition est validée.
La syntaxe de if est :
if condition: # instruction 1 # instruction 2 # ... # instruction N
Vous remarquez que les instructions apparetenant se déclenchant dans le cas où la condition est validée sont toutes indentées d'un cran en plus par rapport à l'indentation du if. Ces éléments d'avantages indentés appartiennent au bloc d'instruction de la condition et ne seront exécutés que si celle-ci est validée. Cela permet notamment de faire la différence entre du code devant s'exécuter dans tous les cas et du code qui ne s'exécutera que si la condition est validée.
Comme on apprend toujours mieux par l'exemple je vous propose d'exécuter le code suivant pour voir ce qu'il print puis de passer la condition de True à False et de relancer l'exécution pour observer le fonctionement de l'instruction.
if True: print("Je suis dans la condition.") print("Ceci est un test.")
A présent vous pouvez vous exercer sur une tâche réelle!
if True: print("Je suis dans la condition.") print("Ceci est un test.")
A présent vous pouvez vous exercer sur une tâche réelle!
Le mot-clé else, qui signifie « sinon » en anglais, permet de définir une première forme de complément à notre instruction if.
if condition: # instruction 1 else: # instruction 2
Le mot-clé elif,est une contraction de « else if », que l'on peut traduire très littéralement par « sinon si ». Avec celle-ci nous pouvons à présent avoir une forme complète pour nos conditions.
if condition 1: # instruction 1 elif condition 2: # instruction 2 else: # instruction 3
Avec toutes ces informations vous devriez pouvoir vous occuper de l'exercice suivant assez facilement:
Afin de gagner quelques lignes, des aménagements sont possibles:
# instruction 1 if condition else instruction 2
# Essayez vous-même !