Vérifier l'ordre croissant ou décroissant
Dans cette étape, vous apprendrez à vérifier si une liste est triée dans l'ordre croissant ou décroissant. C'est une tâche courante dans de nombreux scénarios de programmation, tels que la validation de données et la conception d'algorithmes.
Pour déterminer si une liste est triée, vous pouvez parcourir la liste et comparer les éléments adjacents. Si chaque élément est inférieur ou égal à l'élément suivant, la liste est triée dans l'ordre croissant. Si chaque élément est supérieur ou égal à l'élément suivant, la liste est triée dans l'ordre décroissant.
Commençons par créer un script Python nommé check_order.py
dans votre répertoire ~/project
en utilisant l'éditeur VS Code.
Voici le code pour vérifier si une liste est triée dans l'ordre croissant :
def is_ascending(lst):
for i in range(len(lst) - 1):
if lst[i] > lst[i + 1]:
return False
return True
numbers = [1, 2, 3, 4, 5]
print(is_ascending(numbers))
numbers = [1, 3, 2, 4, 5]
print(is_ascending(numbers))
Enregistrez le code ci-dessus dans check_order.py
. Maintenant, exécutez le script en utilisant la commande suivante :
python ~/project/check_order.py
Vous devriez voir la sortie suivante :
True
False
La première liste [1, 2, 3, 4, 5]
est triée dans l'ordre croissant, donc la fonction retourne True
. La deuxième liste [1, 3, 2, 4, 5]
n'est pas triée dans l'ordre croissant, donc la fonction retourne False
.
Maintenant, ajoutons le code pour vérifier si une liste est triée dans l'ordre décroissant :
def is_descending(lst):
for i in range(len(lst) - 1):
if lst[i] < lst[i + 1]:
return False
return True
numbers = [5, 4, 3, 2, 1]
print(is_descending(numbers))
numbers = [5, 2, 3, 2, 1]
print(is_descending(numbers))
Ajoutez le code ci-dessus à votre fichier check_order.py
. Le fichier check_order.py
complet devrait ressembler à ceci :
def is_ascending(lst):
for i in range(len(lst) - 1):
if lst[i] > lst[i + 1]:
return False
return True
def is_descending(lst):
for i in range(len(lst) - 1):
if lst[i] < lst[i + 1]:
return False
return True
numbers = [1, 2, 3, 4, 5]
print(is_ascending(numbers))
numbers = [1, 3, 2, 4, 5]
print(is_ascending(numbers))
numbers = [5, 4, 3, 2, 1]
print(is_descending(numbers))
numbers = [5, 2, 3, 2, 1]
print(is_descending(numbers))
Exécutez le script à nouveau :
python ~/project/check_order.py
Vous devriez voir la sortie suivante :
True
False
True
False
La liste [5, 4, 3, 2, 1]
est triée dans l'ordre décroissant, donc la fonction retourne True
. La liste [5, 2, 3, 2, 1]
n'est pas triée dans l'ordre décroissant, donc la fonction retourne False
.
Cet exercice montre comment vérifier si une liste est triée dans l'ordre croissant ou décroissant en utilisant Python.