Aller au contenu

Dictionnaire de valeurs extrêmes⚓︎

Écrire une fonction extremes qui prend en paramètre un tableau valeurs de nombres a priori non triés, et qui renvoie la plus petite ainsi que la plus grande valeur du tableau sous la forme d'un dictionnaire à deux clés 'min' et 'max'.

Si le tableau est vide, les extrêmes n'existent pas ; on utilisera alors None pour chacun.

On n'utilisera pas les fonctions min, max, sort, sorted fournies par le langage.

Exemples
🐍 Console Python
>>> valeurs = [0, 1, 4, 2, -2, 9, 3, 1, 7, 1]
>>> resultat = extremes(valeurs)
>>> resultat
{'min': -2, 'max': 9}
🐍 Console Python
>>> valeurs = [37, 37]
>>> resultat = extremes(valeurs)
>>> resultat
{'min': 37, 'max': 37}
🐍 Console Python
>>> valeurs = []
>>> resultat = extremes(valeurs)
>>> resultat
{'min': None, 'max': None}
###
# testsbksl-nlbksl-nlassert extremes([0, 1, 4, 2, -2, 9, 3, 1, 7, 1]) == {"min": -2, "max": 9}bksl-nlassert extremes([37, 37]) == {"min": 37, "max": 37}bksl-nlassert extremes([]) == {"min": None, "max": None}bksl-nlbksl-nlbksl-nl# autres testsbksl-nlbksl-nlassert extremes([42]) == {"min": 42, "max": 42}bksl-nlassert extremes([-42]) == {"min": -42, "max": -42}bksl-nlassert extremes([10, -10]) == {"min": -10, "max": 10}bksl-nlassert extremes([-10, 10]) == {"min": -10, "max": 10}bksl-nlassert extremes([-10, 100, 10]) == {"min": -10, "max": 100}bksl-nlassert extremes([-10, -100, 10]) == {"min": -100, "max": 10}bksl-nlassert extremes([10, 100, -10]) == {"min": -10, "max": 100}bksl-nlassert extremes([10, -100, -10]) == {"min": -100, "max": 10}bksl-nlbksl-nl 5/5

def extremes(valeurs):bksl-nl ...bksl-nlbksl-nlbksl-nl# testsbksl-nlbksl-nlassert extremes([0, 1, 4, 2, -2, 9, 3, 1, 7, 1]) == {"min": -2, "max": 9}bksl-nlassert extremes([37, 37]) == {"min": 37, "max": 37}bksl-nlassert extremes([]) == {"min": None, "max": None}bksl-nlbksl-nldef extremes(valeurs):bksl-nl if valeurs == []:bksl-nl return {"min": None, "max": None}bksl-nl else:bksl-nl mini = valeurs[0]bksl-nl maxi = valeurs[0]bksl-nl for x in valeurs:bksl-nl if x < mini:bksl-nl mini = xbksl-nl if x > maxi:bksl-nl maxi = xbksl-nl return {"min": mini, "max": maxi}bksl-nlbksl-nl

A

Z