Programmer la fonction est_trie
qui prend en paramètre un tableau de valeurs numériques et qui détermine si ce tableau est trié dans l'ordre croissant. La fonction renvoie un booléen True
ou False
.
On n'utilisera ni
sort
nisorted
dans cet exercice.
Exemples
>>> est_trie([0, 5, 8, 8, 9])
True
>>> est_trie([8, 12, 4])
False
>>> est_trie([-1, 4])
True
>>> est_trie([5])
True
>>> est_trie([])
True
def estpy-undtrie(tableau):bksl-nl ...bksl-nlbksl-nlbksl-nl# testsbksl-nlbksl-nlassert estpy-undtrie([0, 5, 8, 8, 9])bksl-nlassert not estpy-undtrie([8, 12, 4])bksl-nlassert estpy-undtrie([-1, 4])bksl-nlassert estpy-undtrie([5])bksl-nlassert estpy-undtrie([])bksl-nlbksl-nldef estpy-undtrie(tableau):bksl-nl for i in range(1, len(tableau)):bksl-nl if tableau[i - 1] > tableau[i]:bksl-nl return Falsebksl-nl return Truebksl-nlbksl-nl
A
Notons que dans les cas où tableau
à strictement moins de 2 éléments range(1, len(tableau)
ne fait aucun tour de boucle.
Version fonctionnelle⚓︎
On peut coder cette phrase logique :
Le tableau est trié s'il a moins de 2 éléments ou alors si chacun des éléments à partir du 2e est supérieur ou égal à son prédécesseur.
def est_trie(tableau):
return all(tableau[i] >= tableau[i - 1] for i in range(1, len(tableau)))
Notons que dans les cas où tableau
à strictement moins de 2 éléments range(1, len(tableau)
ne fait aucun tour et all(...)
renvoie True
.
Z