Loop while

Python SELF PT
Nível 4 , Lição 3
Disponível

9.1 Loop Condicional

O loop for é perfeito para quando sabemos exatamente quantas vezes queremos executar um bloco de comandos. Mas isso nem sempre é o caso. Em cerca de metade das vezes, precisamos executar o bloco de comandos enquanto uma certa condição (regra) for verdadeira.

É exatamente para isso que Python tem o loop while. Ele é ainda mais simples que o for:


while condição:
    comando1 
    comando1 
    comandoN 

O loop será executado enquanto a condição for verdadeira.

Importante! Para evitar que o loop execute para sempre, algo dentro do bloco deve afetar a condição para que ela se torne falsa em algum momento e o loop termine.

Exemplo:

Exemplo Explicação

count = 0
while count < 5:
    print(count)
    count += 1
O loop irá imprimir na tela os números 0 1 2 3 4

No loop while, duas coisas acontecem continuamente:

  • A condição é verificada.
  • O bloco de comandos é executado.

Se a condição for verdadeira, o bloco de comandos será executado. Se a condição for falsa (mesmo que o bloco não tenha sido executado uma única vez), o loop terminará.

Outro exemplo de loop while combinado com a entrada de uma quantidade indefinida de dados pelo usuário:

Exemplo Explicação

user_input = ""
while user_input != "exit":
    user_input = input("Digite 'exit' para sair: ")
    print(user_input)
O loop irá imprimir na tela todos os dados até que o usuário digite a palavra exit. Depois disso, o loop irá imprimir a palavra e terminar.

9.2 Operador break

Em Python, o operador break é usado para encerrar imediatamente a execução de um loop while ou for. Esse operador é extremamente útil em situações onde é necessário sair do loop antes do término normal pela condição.

O uso do break aumenta a flexibilidade no controle do fluxo de execução do programa, permitindo reagir a condições que mudam dinamicamente durante a execução.

Uso principal:


for num in range(10):
    if num == 5:
        break   # Encerra o loop assim que num atinge 5
    print(num)
        

Nesse exemplo, o loop irá imprimir números de 0 a 4. Assim que num atinge 5, o loop é interrompido pelo operador break.

Uso em loops infinitos:


while True:
    response = input("Digite 'exit' para sair: ")
    if response == 'exit':
        break              

Aqui break é usado para sair de um loop infinito quando o usuário digita 'exit'.

O operador break também é frequentemente usado para interromper a execução de loops aninhados, lidar com situações excepcionais onde é necessário encerrar ações imediatamente, além de parar processos em aplicações multi-thread ou de rede.

Por exemplo, em tarefas de busca ou ordenação, onde após encontrar o elemento necessário, não faz sentido continuar o loop:


elements = [1, 2, 3, -99, 5]
# Busca pelo primeiro elemento negativo
for element in elements:
    if element < 0:
        print("Elemento negativo encontrado: ", element)
        break              

Melhores práticas incluem usar break com sabedoria, para não complicar a lógica do programa e não torná-lo difícil de entender. É uma boa prática comentar as razões para interromper o loop, especialmente se elas não forem óbvias a partir do contexto.

O uso de break deve ser justificado e razoável. Por exemplo, para melhorar a legibilidade e eficiência do código, e não apenas para "quebrar" a lógica. O uso eficaz desse operador pode melhorar significativamente o desempenho dos programas, especialmente em algoritmos com cálculos intensivos.

9.3 Operador continue

O operador continue em Python é uma ferramenta poderosa para controlar o fluxo de execução dos loops. Ele pula o restante do código na iteração atual do loop e passa para a próxima iteração. Esse operador é frequentemente usado em loops for e while para pular certas condições sem interromper o loop todo.

Noções básicas sobre o uso do operador continue

Veja como continue funciona em um loop simples:


for i in range(10):
    if i % 2 == 0:
        continue
    print(i)              

Nesse exemplo, o loop imprime apenas os números ímpares de 1 a 9. Toda vez que i é par (divisível por 2 sem resto), o operador continue é acionado, pulando a chamada da função print() e passando para a próxima iteração.

Uso do continue em cenários reais

Filtragem de dados: continue pode ser usado para filtrar dados antes de executar operações mais complexas no loop.


data = ["apple", "banana", "", "cherry", "date"]
for fruit in data:
    if not fruit:
        continue  # Pular strings vazias
    print(fruit.capitalize())               

Pular condições específicas: Especialmente útil em situações onde é necessário pular certos elementos com base em condições complexas.


    scores = [92, 85, 99, 78, 82, 100, 67, 88]
    for score in scores:
        if score < 80:
            continue  # Pular notas baixas
        print("Parabéns, sua nota: ", score)               

O operador continue em Python oferece uma maneira elegante de simplificar o código e torná-lo mais legível ao pular elementos irrelevantes nas iterações. O uso excessivo de continue pode complicar a compreensão de quais dados são processados pelo loop, especialmente em loops complexos com muitas condições. Mantenha um equilíbrio razoável.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION