© Maria Vonotna/Shutterstock.com
Hoje, é hora de revisar mais um dos atributos legados do Python. Enquanto Loops são algumas das ferramentas mais valiosas para programadores e um recurso fundamental para qualquer desenvolvedor.
Neste artigo, planejamos revisar todos os conceitos necessários para entender como os While Loops funcionam. Também mostraremos alguns exemplos de código para que você tenha uma ideia mais clara do que está acontecendo. Embora os Loops sejam um conceito fácil, você não terá problemas para entendê-los.
O que são loops while?
Loops while são uma forma de iterar através do código. Embora os loops sejam um tipo específico de loop, também existem alguns outros tipos, com ideias ligeiramente diferentes por trás deles. Iteração significa executar uma instrução de código um determinado número de vezes ou até que uma condição seja atendida. Apenas tenha isso em mente por enquanto.
Quando a iteração ocorre um número específico de vezes, ela é chamada de iteração definida. Caso contrário, chamamos de iteração indefinida.
Enquanto Loops se enquadram na categoria de iteração indefinida. Por que? Porque até que a condição final seja alcançada, ele continuará repetindo e executando o código.
Isso é tudo que você precisa saber por enquanto. Vamos ver alguns exemplos básicos de código e revisar sua sintaxe.
Sintaxe de loops while
Para construir um loop while, precisamos de uma condição e uma instrução. As condições são definidas na cabeça da estrutura e determinam quando um loop para de funcionar. Eles geralmente são booleanos ou uma expressão feita com strings ou números.
Depois que a condição é declarada, construímos um corpo onde as instruções vão. Esta parte do código é executada até que a condição seja atendida.
A instrução pode conter qualquer tarefa que desejarmos e pode ser uma combinação de funções, métodos e muito mais. O último item do corpo costuma ser o retorno. Dê uma olhada neste algoritmo.
while:
Este é o esboço básico da sintaxe. Aqui, a seção “statement” é recuada com quatro espaços em branco e representa o código em loop.
A tag “expression” representa uma variável que é verificada assim que o loop começa e continua a mudar até que a condição é verdade. Vamos revisar um exemplo básico da vida real:
n=10 while (n 15): count +=1 print(n)
No exemplo acima, podemos apreciar a funcionalidade completa do loop while. Primeiro, declaramos uma variável que servirá como condição no início do loop. Como o estado é verdadeiro, o que significa que o número não é maior que 15, o loop é executado uma vez.
Em seguida, a instrução adiciona 1 à nossa variável e imprime o número. Portanto, adicione 1 a 10 e você obtém 11. Como 11 ainda é menor que 15, o código repete mais uma vez e assim por diante, até que a condição seja atendida. Nesse caso, quando nosso número de variável for igual a 15, a condição será verificada como falsa e o loop será interrompido.
While Loops e declarações Else
Vimos como um loop while pode ser simples, mas poderoso. É uma lógica simples, mas que pode levar a resultados incríveis. Ainda assim, que tal combinar os loops while com outras funções?
Como é comum em Python, você pode combinar as funções while com a maioria das outras funções nativas. Para nossos propósitos, usaremos a instrução “else”, outro recurso familiar para programadores.
A instrução if-else geralmente funciona com uma ou mais condições, assim como os loops while. Vamos substituir o “Se” pelo “Enquanto” desta vez. Portanto, quando a primeira condição não puder ser atendida, a instrução else será a próxima da fila.
Vamos criar um programa simples que utilize o loop while e a instrução else, para que você tenha uma ideia.
count=0 while (count 5): count +=print(“Hello World”) else: print(“Hello World da instrução else”) #Output #Hello World #Hello World #Hello World #Hello World #Hello World from else statement
No exemplo acima, a contagem começa em 0 e aumenta continuamente, imprimindo uma string a cada loop. Então, quando chegarmos a 5, o While Loop para, e a instrução else imprime a string que estabelecemos antes.
Como você pode ver, como na maioria das ferramentas elementares, as possibilidades realmente são infinitas. Essas combinações simples, que em sua essência representam declarações lógicas simples, são o pão com manteiga da maioria dos aplicativos.
Loops while de uma linha
Como desenvolvedores, sempre buscamos oportunidades para criar e código mais simples. Existe uma maneira específica de simplificar a sintaxe para loops while que você deve conhecer.
Você pode construir um loop while em uma única linha, declarando apenas a condição e a seção de impressão. Vejamos como funciona:
n=10 while n > 0: n-=; print(n)
Esteja ciente de que esta sintaxe pode levar a um erro de loop infinito porque nunca podemos alcançar a condição necessária para interrompê-lo. Em inglês simples, o loop while de uma linha (conforme escrito e definido no exemplo acima) nunca termina. Ele fica em loop infinito.
Quando você se encontrar nessa situação, lembre-se de que pode encerrar o programa usando uma combinação de teclas no teclado. No Windows, Ctrl + C o livrará de problemas.
Se isso acontecer com você, não desanime. É um erro comum e, na verdade, é uma excelente maneira de entender a lógica subjacente a essas funções.
No entanto, há alguns casos em que podemos querer um loop infinito. Assim, dependendo de nossas intenções, loops infinitos podem ser um recurso, não um bug! Por exemplo, é um recurso útil para construir servidores que devem estar online a maior parte do tempo, pois o servidor continuará funcionando até você encerrar o programa. Mas vamos manter o foco aqui.
While Loops com lista
Vamos ver como os While Loops se comportam em combinação com uma lista:
números=[1, 2, 3, 4, 5] enquanto números: print(numbers.pop()) #Output #5 4 3 2 1
Aqui criamos uma lista contendo números que serão repetidos até que não restem mais itens. Embora não demoremos muito aqui, é muito bom que você possa combinar os loops while com a maioria das funções nativas, e queremos que isso permaneça com você depois de terminar este artigo.
A seção de condição lê o comprimento da lista , e estabelecemos o último item como o primeiro a ser impresso. Isso é possível graças ao método pop().
O método pop() é uma função nativa em Python que remove e retorna o último item de uma lista. Ele funciona tanto com loops “for” quanto com loops while.
Loops while e instruções de controle
As instruções de controle são a maneira ideal de controlar a iteração dos loops while. Eles nos permitem modificar o funcionamento de um loop encerrando ou interrompendo o fluxo normal do loop.
Na versão atual do Python, temos duas instruções de controle:
Primeiro, a instrução “continue”. Ele interrompe a iteração atual e nos envia para o início do loop. A condição é reavaliada e uma nova repetição começa.
Aqui está um exemplo de loop While com uma instrução Continue:
i=0 a=’Hello World’while i len(a): if a[i]==’o’: i +=1 continue print(a[i]) i +=1 #Output: H e ll W r l d
Observe que chamamos a função len(). Ele nos permite contar o número de itens e retornar esse valor. Nesse caso, ele retorna o número de caracteres da string.
Existe também a instrução “Break”. A instrução break interrompe totalmente a execução do loop, assim:
i=0 a=’Hello World’while i len(a): if a[i]==’l’: i +=1 break print (a[i]) i +=1 #Saída: H e
Finalmente, temos a instrução “passa”. Geralmente é usado para loops vazios sem instruções, funções ou métodos.
i=0 a=’Hello World’while i len(a): i +=1 pass print(i) #Output: 11
Todas essas instruções de controle nos permitem personalizar a maior parte do que acontece dentro de um loop while. Você pode ver como isso pode ser útil ao trabalhar com grandes conjuntos de dados ou ao trabalhar com AIs.
Quais são as vantagens dos loops while?
A principal vantagem dos loops while é que você pode criar aplicativos inteiros sobre eles. A funcionalidade deles é tão básica que você sempre os usará.
Até agora, vimos como um loop while funciona e como combiná-lo com outras funções. Os exemplos de código são bem simples, então vamos tentar tornar algo um pouco mais complexo.
Em Python, é possível aninhar uma ou mais instruções umas nas outras. O aninhamento funciona para instruções if-else, loops while e outras estruturas de controle.
a=[‘Hello’,’World’] while len(a): print(a.pop(0)) b=[‘Puthon’,’Rules’] while len(b): print(‘>’, b.pop(0)) #Output: Hello Python Rules World Regras do Python
Neste exemplo, criamos uma estrutura complexa que avalia condições e imprime cada string. Também utilizamos a função pop() que apresentamos anteriormente.
Este programa é apenas mais um exemplo do que pode ser obtido com loops while. Eles são poderosos por conta própria, mas tudo vai para outro nível quando você adiciona outros métodos e funções à mistura.
Conclusão: os loops while em Python explicados
Neste artigo, você aprendeu como os loops while funcionam, sua sintaxe e alguns casos de uso. Com esse conhecimento, você deve ser capaz de dominar o conceito de While Loops e implementá-los quando necessário.
Também analisamos a iteração, as instruções de controle, as instruções else e os loops infinitos.
Todos esses são recursos necessários para criar um aplicativo complexo e útil, usando a repetição de código como a principal ideia fundamental. Para obter mais informações, recomendamos verificar a documentação oficial do Python. Agora, deixamos que você experimente essas coisas por si mesmo e veja aonde elas o levam.
While Loops em Python explicou perguntas frequentes (perguntas frequentes)
O que devo fazer se receber um erro de loop infinito?
Não entre em pânico! Na maioria dos compiladores python, CTRL + C deve encerrar qualquer código em execução. Use as ferramentas do compilador para navegar e depurar seu código.
Os loops while estão disponíveis apenas em Python?
Não. Loops while estão, de uma forma ou de outra, disponíveis na maioria das linguagens de programação. Eles são uma característica da Programação Orientada a Objetos, pois representam uma função lógica básica. Você encontrará funções nativas semelhantes em Java, Javascript e outras linguagens de programação populares.
Posso combinar outras funções com loops while?
Sim! Assim como outras funções nativas do Python, os loops while podem ser combinados com praticamente todas as outras funções nativas do Python.
Qual é a diferença entre os loops For e os loops While?
For Loops fazem parte do grupo de iteração definido, onde a iteração ou o número de repetições é especificado em algum lugar do código. Por outro lado, os loops while são uma estrutura de iteração indefinida porque o número de repetições de loops não é definido.
O que é iteração?
Na programação , a iteração é o processo de repetir uma série de instruções um determinado número de vezes. Loops são a forma mais comum de iteração.