Python tem dois tipos de laços – laços for e laços while. Enquanto os laços for iteram sobre uma lista (iterável) elemento por elemento, um laço while, por outro lado, repete as instruções dentro de seu corpo enquanto a condição no comando while for satisfeita. Nesse sentido, é muito semelhante a uma instrução if. Ele executa as instruções dentro do laço while caso a condição seja verdadeira:
i = 0
while i < 5:
print('Current i is:', i)
i += 1
print('Done')
Current i is: 0
Current i is: 1
Current i is: 2
Current i is: 3
Current i is: 4
Done
The program on the left will print this output
Inicialmente, i recebe o valor 0 ⇒ i = 0.
Em seguida, o programa verifica se i < 5 e, como 0 < 5, ele entra no corpo do while
O programa imprime Current i is: 0
A variável i aumenta seu valor em 1, tornando-se i = 1
O programa volta à condição e verifica se i < 5. Como 1 < 5 ⇒ ele entra no corpo do while
O programa imprime Current i is: 1
A variável i aumenta seu valor em 1, tornando-se i = 2
O programa verifica se i < 5. 2 < 5 ⇒ entra no corpo do while
O programa imprime Current i is: 2
A variável i aumenta seu valor em 1, tornando-se i = 3
O programa verifica se i < 5. 3 < 5 ⇒ entra no corpo do while
O programa imprime Current i is: 3
A variável i aumenta seu valor em 1, tornando-se i = 4
O programa verifica se i < 5. 4 < 5 ⇒ entra no corpo do while
O programa imprime Current i is: 4
A variável i aumenta seu valor em 1, tornando-se i = 5
O programa verifica se i < 5. 5 = 5 ⇒ O programa sai do laço while e imprime Done
Desafio
Dado um número inteiro positivo n. Imprima o valor de n enquanto for maior que 0 e divida-o por 2 (considere apenas a parte inteira).