Como usar um loop while em Python

O loop while do Python pode ser confuso para iniciantes. No entanto, depois de entender o conceito de looping, você perceberá que o "enquanto" antes do "loop" do Python é uma mera declaração de condição.

Vamos dar uma olhada no loop while do Python e como você pode usá-lo para resolver problemas de programação.

Onde você pode usar um loop while?

Uma condição particular segue um ciclo de tempo. Ele determina o que acontece dentro do loop. Enquanto essa condição permanece True , as expressões dentro do loop continuam em execução.

Geralmente, o looping vem à mente quando você precisa trabalhar com cada elemento de uma lista ou array na programação. Um loop while também mantém a execução até que uma declaração dentro do ciclo interrompe.

Relacionado: Como funciona o loop Do-While na programação de computador

Um bom exemplo seria uma atividade de inspeção para identificar animais doentes em um rebanho de ovelhas. Você pode atribuir isso ao loop while definindo o limite de temperatura para 37 graus. Qualquer valor acima disso significa que uma ovelha está doente.

Para fazer esta declaração em um tempo loop, você pode dizer: "enquanto a temperatura de uma ovelha está acima de 37 graus, imprimir insalubre."

Como esperado, essa instrução while imprime o resultado "não íntegro" continuamente, desde que a condição definida permaneça True .

Como usar Python While Loops – na prática

Conforme declarado anteriormente, um loop while é executado indefinidamente se não houver condições definidas que o parem. Aqui está um exemplo de um loop while indefinido:

 while 3 < 5:
print("It's less than 5")

A condição para o circuito, enquanto no código acima é 3 <5.

Agora vamos dar uma olhada no código loop while para o exemplo de inspeção rebanho da seção anterior:

 StdTemperature = 37
sheep_temp = 38
while sheep_temp > StdTemperature:
print("unhealthy")
else:
print("healthy")

No trecho de código acima, o limite de temperatura é 37. A variável sheep_temp armazena a temperatura de cada ovelha. O loop enquanto mantém a saída "não saudável", desde que a temperatura é superior a 37; esta é a condição para executar o loop neste caso. Se você alterar o sheep_temp para um valor menor que 37, ele executará a instrução else .

No entanto, usando um laço enquanto a resolver o problema acima é muito primitivos e unscalable. Isso porque você precisa alterar manualmente o valor da variável sheep_temp toda vez que precisar testar uma ovelha. Isso significa que é difícil operá-lo em um array. A solução para isso está além do escopo deste artigo.

Não obstante, esse exemplo deve fornecer alguns insights sobre o que uma instrução while faz em um loop Python.

Para interromper a execução contínua do código, você pode introduzir uma instrução break no código de exemplo como este:

 StdTemperature = 37
sheep_temp = 38
while sheep_temp > StdTemperature:
print("unhealthy")
break
else:
print("healthy")

Vamos ver outro caso de uso de um loop while através da criação de uma lista de números entre 1 e 10:

 a = 11
b = 1
while b < a:
a -= 1
print(a)

O bloco de código acima conta do número 10 até 1. Você também pode interpretar a declaração assim: "enquanto um for menor que onze, continue subtraindo um de qualquer número anterior e dê seu resultado na próxima contagem." Ele funciona removendo um de um número anterior cada vez que executa a instrução while .

Também é possível modificar o tempo loop acima para multiplicar cada saída por 2:

 a = 11
b = 1
while b < a:
a -= 1
print(a, "x", "2", "=", a*2)

Você pode usar uma expressão booleana com um loop while também. Dê uma olhada no snippet de código abaixo para ver como isso funciona:

 a = 10
b = 2
while b < 10:
b+=1
print(b)
if b==8:
print(a)
break

O código acima fornece uma saída que conta todos os outros inteiros de 3 a 10 sem incluir o número 9. A expressão break garante que o loop pare de contar assim que chegar a 10. Para entender sua relevância, você pode remover a instrução break para ver como ele vem.

No entanto, em vez de usar uma pausa , você pode usar a expressão continue para obter o mesmo resultado. Para entender como isso funciona, tente comparar o snippet de código acima com o seguinte:

 a = 10
b = 2
while b < 10:
b+=1
if b==9:
continue
print(b)

Em vez de controlar a saída com uma pausa , o código acima instrui seu programa a continuar a contagem sem considerar 9.

Você também pode modificar o loop while acima para gerar todos os números pares entre 1 e 10:

 a = 10
b = 1
while b <= 10:
b+=1
if b%2==0:
print(b)

Observação: se você não quiser executar esses exemplos com o IDLE integrado do Python, também pode usar o Jupyter Notebook , mas precisa criar e ativar um ambiente virtual Python para usar essa opção.

Um loop while tem limitações na prática?

Enquanto ele resolve problemas particulares em eventos da vida real, um loop while em Python tem algumas limitações quando se lida com uma coleção de matrizes.

Na prática, ao contrário de loop, um loop while não oferece especificidade em um comunicado fluxo de controle. No entanto, um loop while tem suas aplicações, bem como, assim que ter uma compreensão de como usá-lo em seus programas é necessário.