Verificar Ordem Crescente ou Decrescente
Nesta etapa, você aprenderá como verificar se uma lista está ordenada em ordem crescente ou decrescente. Esta é uma tarefa comum em muitos cenários de programação, como validação de dados e design de algoritmos.
Para determinar se uma lista está ordenada, você pode iterar pela lista e comparar elementos adjacentes. Se cada elemento for menor ou igual ao elemento seguinte, a lista estará ordenada em ordem crescente. Se cada elemento for maior ou igual ao elemento seguinte, a lista estará ordenada em ordem decrescente.
Vamos começar criando um script Python chamado check_order.py no seu diretório ~/project usando o editor VS Code.
Aqui está o código para verificar se uma lista está ordenada em ordem crescente:
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))
Salve o código acima em check_order.py. Agora, execute o script usando o seguinte comando:
python ~/project/check_order.py
Você deve ver a seguinte saída:
True
False
A primeira lista [1, 2, 3, 4, 5] está ordenada em ordem crescente, então a função retorna True. A segunda lista [1, 3, 2, 4, 5] não está ordenada em ordem crescente, então a função retorna False.
Agora, vamos adicionar código para verificar se uma lista está ordenada em ordem decrescente:
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))
Adicione o código acima ao seu arquivo check_order.py. O arquivo check_order.py completo deve ser assim:
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))
Execute o script novamente:
python ~/project/check_order.py
Você deve ver a seguinte saída:
True
False
True
False
A lista [5, 4, 3, 2, 1] está ordenada em ordem decrescente, então a função retorna True. A lista [5, 2, 3, 2, 1] não está ordenada em ordem decrescente, então a função retorna False.
Este exercício demonstra como verificar se uma lista está ordenada em ordem crescente ou decrescente usando Python.