while loop em Python
Um while loop em Python é utilizado quando é necessário executar repetidamente um bloco de código enquanto uma determinada condição for verdadeira. Ele continua a iterar até que a condição se torne falsa.
A sintaxe básica para definir esse tipo de loop é:
# sintase básica de um while loop
while condição:
# executa um conjunto de instruções repetidamente enquanto a condição testada for verdadeira
Como mostrado no trecho acima, em um while loop, a palavra-chave while marca seu início. O termo condição se refere a uma expressão booleana que determina se o loop continua. O loop é executado enquanto a condição for avaliada como True.
Importante: conforme as regras de recuo do Python, o código executado repetidamente pelo loop precisa ser recuado. O recuo é crucial para definir quais instruções fazem parte do escopo do loop.
Pontos importantes
Dois pontos importantes precisam ser bem claros ao usar while loops. Primeiro: se a condição testada for False inicialmente, o loop não será executado (exemplo ilustrativo abaixo).
# exemplo onde um loop não é executado pois a condição testada é False inicialmente
a = 10
while a < 10:
print('loop sendo executado... ')
Segundo: é essencial modificar a condição dentro do loop (como incrementar um contador) para evitar loops infinitos. Veja um exemplo desse tipo de erro:
# exemplo onde um loop é executado infinitamente pois a condição testada não é modificada dentro dele
a = 1
while a < 10:
print(a)
No exemplo acima, a variável a não está sendo incrementada no loop. Isso faz com que a condição testada seja verdadeira infinitamente. Veja um exemplo de loop while com esse erro corrigido:
# exemplo correto de while loop
a = 1
while a < 10:
print(a)
a += 1 # valor de a é incrementado no loop
# resultado
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
No exemplo acima, o loop é executado enquanto a variável a for menor do que 10. Ela é definida inicialmente como 1 sendo incrementada em 1 a cada passo do loop até a condição testada se tornar False.
Break
Um while loop pode ser combinado com a instrução break para terminar o loop mesmo se a condição while for verdadeira. A instrução break é usada para encerrar o loop completamente.
# exemplo de while loop com break
a = 1
while a < 10:
print(a)
if a == 5:
break # termina loop quando a for igual a 5
a += 1
# resultado
# 1
# 2
# 3
# 4
# 5
Continue
A instrução continue em um while loop do Python é usada para ignorar o código dentro do loop para a iteração atual e passar para a próxima iteração.
# exemplo de while loop com continue
a = 1
while a < 10:
a += 1
if a % 3 == 0: # ignora iterações em que a é múltiplo de 3
continue
print(a)
# resultado
# 2
# 4
# 5
# 7
# 8
# 10
No exemplo acima, o loop while itera de 1 a 10. No entanto, quando a variável incrementada a é um múltiplo de 3 (3, 6, 9), a instrução continue é executada, ignorando a instrução print(a) para essa iteração.
Else
Outra instrução que pode ser combinada com loops while é o else. Com a instrução else, podemos executar um bloco de código apenas uma vez assim que a condição testada no while loop não for mais verdadeira:
# exemplo de while loop com else
a = 1
while a < 10:
print('a é menor do que 10')
a += 1
else:
print('a não é mais menor do que 10')
# resultado
# a é menor do que 10
# a é menor do que 10
# a é menor do que 10
# a é menor do que 10
# a é menor do que 10
# a é menor do que 10
# a é menor do que 10
# a é menor do que 10
# a é menor do que 10
# a não é mais menor do que 10
Veja também:
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.