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 |
---|---|
|
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 |
---|---|
|
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.
GO TO FULL VERSION