Maximum⚓︎
Écrire une fonction maximum
:
- prenant en paramètre une liste non vide de nombres :
nombres
- renvoyant le plus grand élément de cette liste.
Chacun des nombres utilisés est de type int
ou float
.
On interdit ici d'utiliser
max
, ainsi quesort
ousorted
.
Exemples
🐍 Console Python
>>> maximum([98, 12, 104, 23, 131, 9])
131
>>> maximum([-27, 24, -3, 15])
24
###
# Testsbksl-nlassert maximum([98, 12, 104, 23, 131, 9]) == 131bksl-nlassert maximum([-27, 24, -3, 15]) == 24bksl-nlbksl-nl# Tests supplémentairesbksl-nlassert maximum([1, 2, 3, 4, 5]) == 5bksl-nlassert maximum([5, 4, 3, 2, 1]) == 5bksl-nlassert maximum([5, 5, 5]) == 5bksl-nlassert abs(maximum([5.01, 5.02, 5.0]) - 5.02) < 10py-strpy-str-6bksl-nlassert maximum([-5, -4, -3, -8, -6]) == -3bksl-nlassert maximum([1, 2]) == 2bksl-nlbksl-nl 5/5 def maximum(nombres):bksl-nl ...bksl-nlbksl-nlbksl-nl# Testsbksl-nlassert maximum([98, 12, 104, 23, 131, 9]) == 131bksl-nlassert maximum([-27, 24, -3, 15]) == 24bksl-nlbksl-nldef maximum(nombres):bksl-nl maxi = nombres[0]bksl-nl for valeur in nombres:bksl-nl if valeur > maxi:bksl-nl maxi = valeurbksl-nl return maxibksl-nlbksl-nl
A
Il s'agit d'une recherche de maximum classique. La liste étant non-vide, on initialise la variable maxi
avec la première valeur.
Variante récursive pour la classe de terminale⚓︎
🐍 Script Python
def maximum(nombres, i=0):
"""renvoie le maximum parmi les nombres d'indices i jusqu'à la fin"""
if i == len(nombres) - 1:
return nombres[i]
else:
maxi = maximum(nombres, i + 1)
if nombres[i] > maxi:
return nombres[i]
else:
return maxi
Z