Antes de começar a escrever o código, vamos examinar o fluxograma para ver como funciona.
Agora vamos escrever algum código. Veja como escrever um loop while simples para imprimir números de 1 a 10.
#!/usr/bin/pythonx = 1while(x <= 10): print(x) x = x+1
Se você olhar o código acima, o loop só será executado se x for menor ou igual a 10. Se você inicializar x como 20, o loop nunca será executado.
Aqui está a saída desse loop while:
> python script.py12345678910
Loop Do-While
Existem duas variações do loop while – while e do-While. A diferença entre os dois é que o do-while é executado pelo menos uma vez.
Um loop while pode nem mesmo ser executado uma vez se a condição não for atendida. No entanto, do-while será executado uma vez e, em seguida, verifique a condição para os loops subsequentes.
Apesar de estar presente na maioria das linguagens de programação populares, Python não possui uma instrução do-while nativa. Mas você pode emular facilmente um loop do-while usando outras abordagens, como funções.
Vamos tentar a abordagem do-while agrupando os comandos em uma função.
#!/usr/bin/pythonx = 20def run_commands(): x = x+1 print(x)run_commands()while(x <= 10): run_commands()
O código acima executa a função “run_commands ()” uma vez antes de invocar o loop while. Depois que o loop while começa, a função “run_commands” nunca será executada, pois x é igual a 20.
Enquanto – Else
Você pode adicionar uma instrução “else” para ser executada se a condição de loop falhar.
Vamos adicionar outra condição ao nosso código para imprimir “Concluído”, uma vez que imprimimos os números de 1 a 10.
#!/usr/bin/pythonx = 1while(x <= 10): print(x) x = x+1else: print("Done")
O código acima imprimirá primeiro os números de 1 a 10. Quando x for 11, a condição while falhará, acionando a condição else.
Declaração de linha única enquanto
Se você tiver apenas uma única linha de código em seu loop while, poderá usar a sintaxe de linha única.
#!/usr/bin/pythonx = 1while (x): print(x)
Loops infinitos
Se você não tiver cuidado ao escrever loops, criará loops infinitos. Loops infinitos são aqueles em que a condição é sempre verdadeira.
#!/usr/bin/pythonx = 1while (x >= 1): print(x)
O código acima é um exemplo de um loop infinito. Não há comando para alterar o valor de x, portanto, a condição “x é maior ou igual a 1” é sempre verdadeira. Isso fará com que o loop funcione para sempre.
Sempre tome cuidado ao escrever loops. Um pequeno erro pode levar a um loop infinito e travar seu aplicativo.
Controle de Loop
Finalmente, vamos ver como controlar o fluxo de um loop enquanto ele está em execução.
Ao escrever aplicativos do mundo real, você frequentemente encontrará cenários em que precisa adicionar condições adicionais para pular um loop ou para interromper um loop.
Pausa
Vejamos como sair do loop enquanto a condição é verdadeira.
#!/usr/bin/pythonx = 1while (x <= 10): if(x == 5): break print(x) x += 1
No código acima, o loop irá parar a execução quando x for 5, apesar de x ser maior ou igual a 1.
Continuar
Aqui está outro cenário: digamos que você queira pular o loop se uma determinada condição for atendida. No entanto, você deseja continuar as execuções subsequentes até que a condição principal while se torne falsa.
Você pode usar a palavra-chave “continuar” para isso, assim:
#!/usr/bin/pythonx = 1while (x <= 10): if(x == 5): x += 1 continue print(x)
No exemplo acima, o loop imprimirá de 1 a 10, exceto 5. Quando x for 5, o restante dos comandos são pulados e o fluxo de controle retorna ao início do programa while.
Resumo
Os loops são um dos componentes mais úteis na programação que você usará diariamente.
For e while são os dois principais loops em Python. O loop while tem duas variantes, while e do-while, mas o Python suporta apenas a primeira.
Você pode controlar o fluxo do programa usando os comandos ‘break’ e ‘continue’. Esteja sempre ciente de criar loops infinitos acidentalmente.
Eu escrevo regularmente sobre tópicos como Inteligência Artificial e Cibersegurança. Se você gostou deste artigo, você pode ler meu blog aqui.