if☘
La syntaxe☘
if condition:
actions à exécuter si condition est satisfaite
else:
actions à exécuter si condition n'est pas satisfaite.
Parfois, on ne veut rien faire lorsque la condition n'est pas satisfaite.
Dans ce cas, on peut choisir de l'écrire de façon explicite avec pass
(qui signifie
"ne rien faire" et passer à l'instruction suivante):
if condition:
actions à exécuter si condition est satisfaite
else:
pass
instruction suivante (hors du bloc if)
Mais dans ce cas, on utilisera plutôt une suppression de la clause else
(cela a le même effet
que else: pass
):
if condition:
actions à exécuter si condition est satisfaite
instruction suivante (hors du bloc if)
Exercice☘
Écrire un code pour le corps de la fonction suivante:
def f(n):
"""
n -- entier
renvoie le triple de n si n est pair, le double de n si n est impair.
>>> f(4)
12
>>> f(5)
10
"""
Multiple de
On rappelle que, pour a et b entiers, a%b
est le reste de la division entière de a par b.
Le test a%b == 0
signifie donc "le reste de la division entière de a par b est nul", ou en d'autres
termes: "a est multiple de b".
Cette remarque sera souvent utilisée... A retenir!
Un code possible
def f(n):
"""
n -- entier
renvoie le triple de n si n est pair, le double de n si n est impair.
>>> f(4)
12
>>> f(5)
10
"""
if n%2 == 0:
return 3*n
else:
return 2*n
Algorithme de travail des exercices
Rappelons que vous ne devez jamais vous contenter de lire la solution. Pour chaque exercice, votre démarche doit être la même:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Et dans tous les cas, cette étape doit être recommencée jusqu'à ce que vous arriviez par vous-même à écrire un code sans erreur.... Et dans les deux jours qui suivent, on recommence... et en fin de semaine, pour ancrer tout cela, on recommence.
elif☘
On peut parfois avoir à enchaîner des conditions comme:
if condition1:
action1
else:
if condition2:
action2
else:
if condition3:
action3
else:
action
Python offre une possibilité pour éviter les nombreuses indentations de ce code (dans ce contexte, les indentations deviennent plutôt un obstacle à la lisibilité):
if condition1:
action1
elif condition2:
action2
elif condition3:
action3
else:
action
Exemple:
Si Antoine a au moins 18 ans:
action1
sinon:
si Antoine a au moins 16 ans: # entre 16 et 18 ans
action2
sinon:
si Antoine a au moins 14 ans: # entre 14 et 16 ans
action3
sinon:
au lit!
deviendra :
age = ...
if age >= 18:
action1
elif age >= 16:
action2
elif age >= 14:
action3
else:
dodo