Condition if
On peut écrire une condition if
de la façon suivante en Python :
if condition:
instruction
You don't say?
On peut aussi utiliser else
pour spécifier ce qui passe si la condition est fausse :
In [2]:
Copied!
if 1 < 2:
print("You don't say?")
else:
print("??!!")
if 1 < 2:
print("You don't say?")
else:
print("??!!")
You don't say?
Donnons un exemple un peu plus utile : l'implémentation de la fonction valeur absolue ($x \longmapsto \vert x \vert$).
In [4]:
Copied!
def abs(x):
if x < 0:
return -x
return x # le else n'est pas obligatoire
def abs(x):
if x < 0:
return -x
return x # le else n'est pas obligatoire
Exercice
Écrire une fonction n_solutions
telle que n_solutions(a, b, c)
renvoie le nombre de solutions de $ax^2 + bx + c = 0$.
Solution
In [3]:
Copied!
def n_solutions(a, b, c):
delta = b**2 - 4*a*c
if abs(delta) < 0.0001: # attention : il ne faut pas tester l'égalité de 2 flottants à cause des erreurs d'arrondis
return 1
if delta > 0: # on pourrait mettre un else mais ce n'est pas nécessaire
return 2
return 0
def n_solutions(a, b, c):
delta = b**2 - 4*a*c
if abs(delta) < 0.0001: # attention : il ne faut pas tester l'égalité de 2 flottants à cause des erreurs d'arrondis
return 1
if delta > 0: # on pourrait mettre un else mais ce n'est pas nécessaire
return 2
return 0
Exercice
Écrire une fonction Python correspondant à chacune des représentations graphiques ci-dessous.
Indice : la 3ème fonction est égale à $x \longmapsto \vert x - 1 \vert$ sur l'intervalle $[0, \infty[$.
Solution
In [1]:
Copied!
def f1(x):
if x < 2:
return 5
return 3
def f2(x):
if x < -1:
return -3
if x < 1:
return 3
return 7
def f3(x):
if x < 0:
return 1
return abs(x - 1)
def f1(x):
if x < 2:
return 5
return 3
def f2(x):
if x < -1:
return -3
if x < 1:
return 3
return 7
def f3(x):
if x < 0:
return 1
return abs(x - 1)