Menu
Coddy logo textTech

Loop While

Parte da seção Fundamentals do Journey de Python da Coddy — lição 36 de 77.

Um loop while é diferente do loop for. Um loop for nos permite iterar sobre um range específico, enquanto um loop while nos permite continuar iterando enquanto uma determinada condição for atendida.

Para usar um loop while, escreva:

while condition:
	code

O código será executado apenas se a condição for True.

A condição é tipicamente formada usando operadores de comparação como <= (menor ou igual a), >= (maior ou igual a), < (menor que), > (maior que) ou == (igual a). O loop continua em execução enquanto essa comparação for avaliada como True e para assim que ela se tornar False.

Dentro do corpo do loop, você geralmente precisa atualizar a variável que está sendo verificada. Isso é feito com operadores de atribuição composta como += (adicionar e atribuir), -= (subtrair e atribuir), *= (multiplicar e atribuir) ou /= (dividir e atribuir). Por exemplo, x *= 2 é um atalho para x = x * 2. Sem atualizar a variável, a condição nunca mudaria e o loop rodaria para sempre.

Existem muitos casos de uso onde um while resolveria o problema, mas o loop for não.

Por exemplo, considere este problema:

Encontre a menor potência de 2 que seja maior que um determinado número.

Para resolvê-lo, usaremos um loop while que multiplicará repetidamente a potência atual de 2 por 2 até que ela se torne maior que o número fornecido:

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2

print(power_of_two)

Aqui, power_of_two <= number é a condição usando um operador de comparação, e power_of_two *= 2 atualiza a variável a cada iteração usando um operador de atribuição aumentada. Assim que power_of_two exceder number, a condição torna-se False e o loop para.

challenge icon

Desafio

Iniciante

Escreva um programa que receba uma entrada, um número float.

Use um loop while para dividir a entrada por 2 enquanto o número for maior ou igual a 3.5.

Imprima o primeiro número que for menor que 3.5.

Folha de consulta

Um loop while executa enquanto uma condição for True:

while condition:
    code

Use operadores de comparação para formar a condição: ==, <, >, <=, >=.
Use operadores de atribuição aumentada para atualizar a variável a cada iteração: +=, -=, *=, /=.

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2  # atualiza a variável para evitar um loop infinito

print(power_of_two)  # 32

Experimente você mesmo

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentals