while loop em Python. Como funciona, exemplos de uso

Loops são uma das principais ferramentas de qualquer linguagem. Existem dois loops básicos em Python, um dos quais é while. Considere-o, e também para uma melhor compreensão da imagem, mais um. De fato, em comparação com algo semelhante, é muito mais fácil entender qualquer material, não é?

O conceito de ciclo

Um loop é necessário quando uma determinada ação precisa ser executada várias vezes. Isso é muito simplista, porque na realidade a gama de aplicações para ciclos é muito mais ampla. Existem dois tipos principais de loops em Python: for e while. O mais popular é para.

Além de ações específicas, você pode fazer um loop em diferentes partes de código até um determinado ponto. Isso pode ser um certo número de vezes, ou desde que uma determinada condição seja verdadeira.

Antes de começarmos a entender os tipos de loops e while, em particular, ainda precisamos entender o que é iteração. Esta é uma repetição de uma ação ou sequência de ações durante o ciclo atual dentro da execução do aplicativo atual.

Ciclo para

Nosso loop For não é um contador, como em muitas outras linguagens. Sua tarefa é enumerar uma certa sequência de valores. O que isto significa? Digamos que temos uma lista de elementos. Primeiro, o loop leva o primeiro, segundo, terceiro e assim por diante.

A vantagem desse loop em Python é que você não precisa determinar o índice do elemento para saber quando sair do loop. Tudo será feito automaticamente.

>>> pico = [10, 40, 20, 30]

>>> para elemento em spsok:

… imprimir(elemento + 2)

...

12

42

22

32

Em nosso exemplo, usamos a variável elemento após o comando for. Em geral, o nome pode ser qualquer coisa. Por exemplo, uma designação popular é i. E a cada iteração, essa variável receberá um objeto específico da lista, que chamamos de palavra apropriada.

No nosso caso, a lista é uma sequência de números 10,40,20,30. A cada iteração, o valor correspondente aparece na variável. Por exemplo, assim que o loop é iniciado, a variável elemento o valor 10 é atribuído. Na próxima iteração, o dez se transforma no número 40, na terceira vez se transforma no número 20 e, finalmente, na última iteração do loop, se transforma em 30.

O sinal para o fim do ciclo é o fim dos elementos da lista.

Se você precisar que o loop realize uma enumeração clássica de valores, como em outras linguagens de programação, você deve criar uma lista com uma sequência de números naturais até o valor que precisamos.

>>> espio = [1,2,3,4,5]

Ou use a função lente(), para determinar o comprimento da lista. Mas neste caso é melhor usar um loop enquanto, porque não há necessidade de usar uma variável.

Se você precisar alterar a sequência de valores na lista, faça um loop para e aqui vem o resgate. Para fazer isso, a cada iteração, cada elemento da lista deve receber um valor apropriado.

Enquanto Loop

Ao contrário do ciclo para, que simplesmente itera sobre os valores da sequência, o loop enquanto tem mais usos. O nome deste tipo de ciclos é traduzido como “ainda”. Ou seja, “até”.

Este é um loop universal que é encontrado em todas as linguagens de programação. E de certa forma se assemelha a um operador condicional teixo, que executa uma verificação para ver se uma determinada condição é atendida. Apenas em contraste com o operador condicional, enquanto executa a verificação em cada iteração, não apenas uma vez. E somente se a condição for falsa, o loop termina e o comando que o segue é executado. Em palavras simples, se a situação em que ele trabalha não é mais válida.

Se desenharmos um ciclo enquanto de forma simplista, isso é feito usando esse esquema.while loop em Python. Como funciona, exemplos de uso

A ramificação principal do programa (que é executada fora do loop) é representada nesta figura com retângulos azuis. Turquesa representa o corpo do ciclo. Por sua vez, um losango é uma condição que é verificada a cada iteração.

Ciclo enquanto pode resultar em duas exceções:

  1. Se no início do loop a expressão lógica não retornar true, ela simplesmente não começará, tendo sido concluída antes da execução. Em geral, essa situação é normal, pois em determinadas circunstâncias, o aplicativo pode não prever a presença de expressões no corpo do loop.
  2. Se a expressão for sempre verdadeira, isso pode levar a um loop. Ou seja, para a rolagem sem fim do ciclo. Portanto, nesses programas, sempre deve haver uma instrução de saída do loop ou programa. No entanto, essa situação surgirá se o programa for capaz de determinar a verdade ou falsidade de uma determinada condição. Se ela não fizer isso, um erro será retornado com o encerramento do programa. Ou você pode manipular o erro e, se ocorrer, determinado código será executado.

Pode haver um grande número de opções de como lidar com um erro. Por exemplo, o programa pode solicitar que o usuário insira os dados corretamente. Portanto, se uma pessoa indicou um número negativo onde só pode ser positivo, ou digitou letras onde apenas números deveriam estar, o programa pode informar sobre isso.

Exemplos de loop while

Aqui está um exemplo de código que trata um erro neste caso.

n = input("Digite um inteiro: ") 

enquanto tipo (n)! = int:

    tente:

        n = int(n)

    exceto ValueError:

        print(“Entrada errada!”)

        n = input("Digite um inteiro: ") 

se n % 2 == 0:

    print(“Par”)

outro:

    print("Ímpar")

Lembre-se de que o Python usa dois pontos para declarar construções de código complexas.

No código acima, definimos como condição que devemos verificar se o número é um inteiro. Se sim, então false é retornado. Se não, então é verdade.

Na segunda parte do código, onde o operador é usado if, usamos o operador % para encontrar o resto após a operação de divisão. O próximo passo é verificar se o número é par. Se não, então o resto é um neste caso. Assim, o número é ímpar. 

Em termos simples, o código acima primeiro verifica se a string inserida pelo usuário é um número. Se sim, então uma segunda verificação é feita para ver se há um resto da divisão por dois. Mas o segundo bloco não será executado até que o valor inserido pelo usuário seja numérico.

Ou seja, o loop será executado regularmente até que a condição ocorra. Nesta situação, funciona assim. 

Ou seja, você pode ir do contrário: fazer um loop em uma determinada ação até que o evento se torne falso.

Análise de código

Agora vamos ver com mais detalhes como esse código funciona. Para fazer isso, vamos analisá-lo passo a passo.

  1. Primeiro, o usuário insere uma string, que é aceita pela variável n. 
  2. Usando um laço enquanto o tipo desta variável é verificado. Na primeira entrada, não é igual int. Portanto, como resultado do teste, verifica-se que essa condição é verdadeira. Portanto, o corpo do loop é inserido.
  3. Com a ajuda de um operador tentar estamos tentando converter uma string em um número. Se isso for feito, nenhum erro ocorrerá. Assim, não há necessidade de processá-lo. Portanto, o interpretador retorna ao início do loop e, de acordo com os resultados da verificação, verifica-se que se tornou um número inteiro. Então vamos para o passo 7
  4. Se a conversão não for bem-sucedida, um ValueError será lançado. Nesse caso, o fluxo do programa é enviado para o handler except.
  5. O usuário insere um novo valor, que é atribuído à variável n.
  6. O intérprete retorna à etapa 2 e verifica novamente. Se for um valor inteiro, vá para a etapa 7. Caso contrário, a conversão será tentada novamente de acordo com a etapa 3.
  7. Com a ajuda de um operador if Determina se há resto após a divisão de um número por 2. 
  8. Caso contrário, o texto “even” é retornado.
  9. Caso contrário, o texto “ímpar” é retornado.

Considere agora um exemplo. Tente determinar quantas vezes esse ciclo passará?

total = 100 

i = 0

enquanto i < 5:

    n = int(entrada())

    total = total - n

    i = i + 1 

print(“Restante”, total)

A resposta correta é 5. Inicialmente, o valor da variável i – zero. O interpretador verifica se a variável é igual i 4 ou menos. Se sim, o valor é retornado. verdadeiro, e o loop é executado de acordo. O valor é aumentado em um.

Após a primeira iteração, o valor da variável se torna 1. Uma verificação é executada e o programa entende que esse número é novamente menor que 5. Assim, o corpo do loop é executado pela segunda vez. Como as etapas são semelhantes, o valor também é aumentado em um e a variável agora é igual a 2.

Este valor também é inferior a cinco. Em seguida, o loop é executado uma terceira vez, adicionado à variável i 1 e é atribuído o valor 3. Este é novamente inferior a cinco. E assim chegamos à sexta iteração do loop, na qual o valor da variável i é igual a 5 (afinal, originalmente era zero, até onde nos lembramos). Assim, esta condição não passa no teste, e o loop é automaticamente encerrado e a transição para a próxima etapa, que está fora dela (ou encerramento do programa, se as etapas a seguir não forem fornecidas), é realizada.

O ciclo também pode ocorrer na direção oposta. Aqui está um exemplo de código onde, a cada iteração subsequente, um é subtraído do valor atual da variável. 

total = 100 

enquanto total > 0:

    n = int(entrada())

    total = total - n 

print("Recurso esgotado")

Tente adivinhar o que este programa faz! Imagine que em uma variável total informações sobre o recurso do programa são armazenadas. Cada vez que o intérprete verifica se o recurso existe. Caso contrário, o texto “Recurso esgotado” é exibido e o programa fecha. E com cada iteração do loop, o recurso diminui pelo número que o usuário especifica.

E agora dever de casa. Tente alterar o código acima para que a variável não possa se tornar fisicamente negativa. 

4 Comentários

  1. código si ahaan usoo gudbi

Deixe um comentário