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 et max 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-nlbksl-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-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-nl

A

Z