Como Verificar se um Loop Foi Interrompido em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como determinar se um loop em Python foi interrompido prematuramente usando diferentes técnicas. O laboratório se concentra em entender a instrução break e como ela pode ser usada para sair de um loop com base em uma condição específica.

Você explorará dois métodos: definir uma variável de flag (flag variable) antes de interromper e detectar a conclusão com a cláusula else. O primeiro método envolve inicializar uma variável de flag e defini-la como True quando a instrução break é executada. O segundo método utiliza a cláusula else, que é executada somente se o loop for concluído normalmente sem encontrar uma instrução break. Ao final deste laboratório, você será capaz de verificar efetivamente se um loop foi interrompido em Python e lidar com diferentes cenários de acordo.

Entenda a Instrução break

Nesta etapa, você aprenderá sobre a instrução break em Python. A instrução break é usada para sair de um loop prematuramente. Isso pode ser útil quando você deseja parar de iterar em um loop com base em uma determinada condição.

Vamos começar criando um arquivo Python chamado break_example.py em seu diretório ~/project usando o editor VS Code.

## Filename: break_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for number in numbers:
    if number > 5:
        break  ## Exit the loop when number is greater than 5
    print(number)

Neste código:

  • Temos uma lista de números de 1 a 10.
  • Iteramos pela lista usando um loop for.
  • Dentro do loop, verificamos se o number atual é maior que 5.
  • Se o número for maior que 5, usamos a instrução break para sair do loop.
  • Caso contrário, imprimimos o number atual.

Agora, vamos executar o script usando o seguinte comando no terminal:

python break_example.py

Você deve ver a seguinte saída:

1
2
3
4
5

Como você pode ver, o loop parou de executar quando o número 6 foi encontrado porque é maior que 5. A instrução break fez com que o loop terminasse naquele ponto.

A instrução break pode ser usada em loops for e while. Ela fornece uma maneira de sair de um loop com base em uma condição específica, permitindo que você controle o fluxo do seu programa.

Defina uma Flag Antes de Interromper

Nesta etapa, você aprenderá como usar uma variável de flag para indicar se uma instrução break foi executada dentro de um loop. Isso pode ser útil quando você precisa saber se um loop foi concluído totalmente ou foi interrompido.

Vamos criar um arquivo Python chamado flag_example.py em seu diretório ~/project usando o editor VS Code.

## Filename: flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
found = False  ## Initialize a flag variable

for number in numbers:
    if number > 5:
        found = True  ## Set the flag to True when number is greater than 5
        break  ## Exit the loop
    print(number)

if found:
    print("Found a number greater than 5")
else:
    print("No number greater than 5 was found")

Neste código:

  • Inicializamos uma variável booleana found como False. Essa variável atuará como nossa flag.
  • Iteramos pela lista de números.
  • Se encontrarmos um número maior que 5, definimos found como True e, em seguida, break para sair do loop.
  • Após o loop, verificamos o valor de found. Se for True, significa que encontramos um número maior que 5 e saímos do loop. Caso contrário, significa que o loop foi concluído sem encontrar nenhum número maior que 5.

Agora, vamos executar o script usando o seguinte comando no terminal:

python flag_example.py

Você deve ver a seguinte saída:

1
2
3
4
5
Found a number greater than 5

Agora, vamos modificar a lista numbers para não incluir nenhum número maior que 5:

## Filename: flag_example.py
numbers = [1, 2, 3, 4, 5]
found = False  ## Initialize a flag variable

for number in numbers:
    if number > 5:
        found = True  ## Set the flag to True when number is greater than 5
        break  ## Exit the loop
    print(number)

if found:
    print("Found a number greater than 5")
else:
    print("No number greater than 5 was found")

Execute o script novamente:

python flag_example.py

Você deve ver a seguinte saída:

1
2
3
4
5
No number greater than 5 was found

Este exemplo demonstra como uma variável de flag pode ser usada para rastrear se uma instrução break foi executada, permitindo que você tome diferentes ações com base em se o loop foi concluído totalmente ou foi interrompido.

Detectar Conclusão com a Cláusula else

Nesta etapa, você aprenderá como usar a cláusula else com um loop for para detectar se o loop foi concluído sem encontrar uma instrução break. Essa pode ser uma maneira limpa e elegante de executar código somente quando um loop termina normalmente.

Vamos criar um arquivo Python chamado else_example.py em seu diretório ~/project usando o editor VS Code.

## Filename: else_example.py
numbers = [1, 2, 3, 4, 5]

for number in numbers:
    if number > 5:
        print("Found a number greater than 5")
        break
    print(number)
else:
    print("No number greater than 5 was found")

Neste código:

  • Iteramos pela lista de números.
  • Se encontrarmos um número maior que 5, imprimimos uma mensagem e break para sair do loop.
  • A cláusula else está associada ao loop for. Ela será executada somente se o loop for concluído sem encontrar uma instrução break.

Agora, vamos executar o script usando o seguinte comando no terminal:

python else_example.py

Você deve ver a seguinte saída:

1
2
3
4
5
No number greater than 5 was found

A cláusula else foi executada porque o loop foi concluído sem encontrar nenhum número maior que 5.

Agora, vamos modificar a lista numbers para incluir um número maior que 5:

## Filename: else_example.py
numbers = [1, 2, 3, 4, 5, 6]

for number in numbers:
    if number > 5:
        print("Found a number greater than 5")
        break
    print(number)
else:
    print("No number greater than 5 was found")

Execute o script novamente:

python else_example.py

Você deve ver a seguinte saída:

1
2
3
4
5
Found a number greater than 5

Nesse caso, a cláusula else não foi executada porque o loop foi terminado pela instrução break.

A cláusula else com um loop for fornece uma maneira concisa de executar código quando um loop é concluído normalmente, sem ser interrompido por uma instrução break. Isso pode tornar seu código mais legível e fácil de entender.

Resumo

Neste laboratório, você aprendeu como usar a instrução break em Python para sair de um loop prematuramente com base em uma condição específica. A instrução break pode ser usada em loops for e while para controlar o fluxo do seu programa.

Além disso, você explorou como usar uma variável de flag para rastrear se uma instrução break foi executada dentro de um loop, permitindo que você determine se o loop foi concluído totalmente ou foi interrompido.