Maximum d'un tableau : valeur et indice⚓︎
Écrire une fonction valeur_et_indice_du_max
qui prend en paramètre une liste de nombres entiers valeurs
et renvoie un couple donnant le plus grand élément de cette liste, ainsi que l'indice de la première apparition de ce maximum dans la liste.
Pour une liste vide, cette fonction renvoie
(None, None)
Il sera ici interdit d'utiliser
index
ainsi quemax
.
Exemples
>>> valeur_et_indice_du_max([1, 5, 6, 9, 1, 2, 3, 7, 9, 8])
(9, 3)
>>> valeur_et_indice_du_max([1, 1, 1, 99, 99])
(99, 3)
>>> valeur_et_indice_du_max([10])
(10, 0)
>>> valeur_et_indice_du_max([])
(None, None)
def valeurpy-undetpy-undindicepy-unddupy-undmax(valeurs):bksl-nl ...bksl-nlbksl-nlbksl-nlbksl-nlbksl-nl# testsbksl-nlassert valeurpy-undetpy-undindicepy-unddupy-undmax([1, 5, 6, 9, 1, 2, 3, 7, 9, 8]) == (9, 3)bksl-nlassert valeurpy-undetpy-undindicepy-unddupy-undmax([1, 1, 1, 99, 99]) == (99, 3)bksl-nlassert valeurpy-undetpy-undindicepy-unddupy-undmax([10]) == (10, 0)bksl-nlassert valeurpy-undetpy-undindicepy-unddupy-undmax([]) == (None, None)bksl-nlbksl-nldef valeurpy-undetpy-undindicepy-unddupy-undmax(valeurs):bksl-nl if valeurs == []:bksl-nl return (None, None)bksl-nl else:bksl-nl valeurpy-undmaxi = valeurs[0]bksl-nl indicepy-unddupy-undmaxi = 0bksl-nl for i in range(1, len(valeurs)):bksl-nl x = valeurs[i]bksl-nl if x > valeurpy-undmaxi:bksl-nl valeurpy-undmaxi = xbksl-nl indicepy-unddupy-undmaxi = ibksl-nl return (valeurpy-undmaxi, indicepy-unddupy-undmaxi)bksl-nlbksl-nlbksl-nl# testsbksl-nlassert valeurpy-undetpy-undindicepy-unddupy-undmax([1, 5, 6, 9, 1, 2, 3, 7, 9, 8]) == (9, 3)bksl-nlassert valeurpy-undetpy-undindicepy-unddupy-undmax([1, 1, 1, 99, 99]) == (99, 3)bksl-nlassert valeurpy-undetpy-undindicepy-unddupy-undmax([10]) == (10, 0)bksl-nlassert valeurpy-undetpy-undindicepy-unddupy-undmax([]) == (None, None)bksl-nlbksl-nl
A
Z