Comprobar orden ascendente o descendente
En este paso, aprenderás cómo comprobar si una lista está ordenada en orden ascendente o descendente. Esta es una tarea común en muchos escenarios de programación, como la validación de datos y el diseño de algoritmos.
Para determinar si una lista está ordenada, puedes iterar a través de la lista y comparar elementos adyacentes. Si cada elemento es menor o igual que el siguiente elemento, la lista está ordenada en orden ascendente. Si cada elemento es mayor o igual que el siguiente elemento, la lista está ordenada en orden descendente.
Comencemos creando un script de Python llamado check_order.py
en tu directorio ~/project
utilizando el editor VS Code.
Aquí está el código para comprobar si una lista está ordenada en orden ascendente:
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))
Guarda el código anterior en check_order.py
. Ahora, ejecuta el script utilizando el siguiente comando:
python ~/project/check_order.py
Deberías ver la siguiente salida:
True
False
La primera lista [1, 2, 3, 4, 5]
está ordenada en orden ascendente, por lo que la función devuelve True
. La segunda lista [1, 3, 2, 4, 5]
no está ordenada en orden ascendente, por lo que la función devuelve False
.
Ahora, agreguemos código para comprobar si una lista está ordenada en orden descendente:
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))
Agrega el código anterior a tu archivo check_order.py
. El archivo check_order.py
completo debería verse así:
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))
Ejecuta el script nuevamente:
python ~/project/check_order.py
Deberías ver la siguiente salida:
True
False
True
False
La lista [5, 4, 3, 2, 1]
está ordenada en orden descendente, por lo que la función devuelve True
. La lista [5, 2, 3, 2, 1]
no está ordenada en orden descendente, por lo que la función devuelve False
.
Este ejercicio demuestra cómo comprobar si una lista está ordenada en orden ascendente o descendente utilizando Python.