Laços while

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
  1. Inicialmente, i recebe o valor 0i = 0.

  1. Em seguida, o programa verifica se i < 5 e, como 0 < 5, ele entra no corpo do while
  1. O programa imprime Current i is: 0
  1. A variável i aumenta seu valor em 1, tornando-se i = 1

  1. O programa volta à condição e verifica se i < 5. Como 1 < 5 ⇒ ele entra no corpo do while
  1. O programa imprime Current i is: 1
  1. A variável i aumenta seu valor em 1, tornando-se i = 2

  1. O programa verifica se i < 5. 2 < 5 ⇒ entra no corpo do while
  1. O programa imprime Current i is: 2
  1. A variável i aumenta seu valor em 1, tornando-se i = 3

  1. O programa verifica se i < 5. 3 < 5 ⇒ entra no corpo do while
  1. O programa imprime Current i is: 3
  1. A variável i aumenta seu valor em 1, tornando-se i = 4

  1. O programa verifica se i < 5. 4 < 5 ⇒ entra no corpo do while
  1. O programa imprime Current i is: 4
  1. A variável i aumenta seu valor em 1, tornando-se i = 5

  1. 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).
Input
Output
100
100 50 25 12 6 3 1
5
5 2 1
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue