Qual a diferença entre o For e o While no Python?

Sempre que é necessário ou desejável repetir uma tarefa, dentro de um programa ou script Python, pode-se incluí-la dentro de um laço (ou loop).
Dependendo da tarefa e da maneira como é esperado que ela se repita, é que se escolhe usar o for ou o while.
Não se trata de uma regra, veja bem.
Você é livre para usar o que quiser dentro dos seus programas.
As recomendações, de que trata este post, partem de outros programadores mais experientes, no sentido de conseguir realizar um trabalho de maneira mais eficiente — só isso.

Use o for quando você tem um número predeterminado de repetições a se realizar.

É sugerido usar o for loop nas seguintes circunstãncias:

  • você tem em mente a quantidade de vezes em que deseja que um bloco de código seja repetido
  • você quer controlar, de antemão, o número de vezes em que a tarefa será executada
  • a tarefa se repetirá por um número de vezes finito e predefinido

# Usamos o for, basicamente quando
# temos um número finito de repetições

for i in range(15):
    print(str(i)+" pythonbay.com!")
    i=i+1
    
print("\nFim do loop FOR.")

Já o while loop é sugerido nos seguintes casos:

  • você não faz a menor ideia de quantas vezes um bloco de código deverá ser executado
  • quando não lhe cabe predefinir quantas vezes uma determinada tarefa deverá ser executada.
  • o bloco de código, em questão, deverá se repetir infinitamente, enquanto uma condição não for satisfeita.

# Usamos o while, quando temos um loop infinito
# que só será interrompido quando encontrar uma
# certa condição

resposta=" "
while resposta != "chega":
    resposta = input("digite 'chega' quando\nestiver de saco cheio.")
    
print("\nEstou impressionado com a sua paciencia.")

exemplos for while python


Leia mais sobre loops while e for.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 46 outros assinantes

Como usar loops while e for no Python

Com frequência precisamos que uma mesma tarefa se repita em um programa.
Para isto, a executamos dentro de um laço (ou loop).
O Python tem os mesmos recursos que outras linguagens de programação, para fazer com que blocos de código se repitam até atingir uma determinada condição dentro do seu programa.
Neste post, vou mostrar como (e quando) usar laços for e while, em exemplos práticos, que podem ser reusados em seus próprios scripts.
O código foi testado em Python 3. Portanto, se você usa versões anteriores, vai ter que adaptar algumas partes.

Como usar o For loop no Python

Lembre-se que for quer dizer “para”, em inglês.
O laço for é usado para iterar sobre elementos de uma sequencia. É comumente usado quando temos um pedaço de código que desejamos repetir por um número ‘n’ de vezes.

Laços for são tradicionalmente usados quando se deseja repetir um bloco de código, por um número determinado de vezes.

Ele funciona assim: “para (for) cada elemento em uma lista, faça tal coisa”.
Vamos supor uma lista, para continuar exemplificando.


marcas_laptop = ["Dell", "Lenovo", "Samsung", "Positivo"]
for marca in marcas_laptop:
	print(marca)

Dá para ler o segmento de código acima, da seguinte forma:
Para cada elemento atribuído à variável marca, na lista marcas_laptop, mostre o valor da variável marca.
Veja um exemplo, usando uma gama de 3 números:


for x in range(0, 3):
	print(x)

Use a palavra-chave break, se quiser interromper seu laço.
Veja um exemplo de uso:


for x in range(0, 10):
	print("número "+str(x))
	if x == 5:
		print("Tá, parei!")
		break

outro exemplo de uso do for:


for letter in 'pythonbay.com':
	print ('letra atual: ', letter)

O resultado deve ser semelhante a este:

letra atual:  p
letra atual:  y
letra atual:  t
letra atual:  h
letra atual:  o
letra atual:  n
letra atual:  b
letra atual:  a
letra atual:  y
letra atual:  .
letra atual:  c
letra atual:  o
letra atual:  m

Como construir um loop while no Python

Laços while (ou “enquanto”) dizem para o computador executar uma tarefa enquanto uma condição for verdadeira.
Sua construção consiste em um bloco de código acompanhado de uma condição.

Em contraste com as declarações for, as que são construídas com while são usadas preferencialmente quando uma condição precisa ser verificada a cada iteração ou quando se prevê uma execução em laço de um código infinitamente.

Funciona assim: “enquanto (while) uma condição for verdadeira, faça isto”.
Veja um exemplo real:


x = 1
while True:
	print("Para o infinito e além! %d agora!" % (x))
	x = x + 1

Para interromper o script, use as teclas Ctrl+C.
Infinitas execuções de um código podem ser bastante incômodas. Por isto é que se prevê que, em algum momento, ocorra uma condição que permita a saída do laço.
Em vez de while true, por exemplo, use algo como while x <= 1000
O for é tão poderoso e versátil no Python que usamos o while preferencialmente quando desejamos obter ou permitir a interação do usuário.
No exemplo, abaixo, a execução do loop só termina quando o usuário fornecer a string ou palavra correta:


entrada=" "
while entrada.strip() != 'pythonbay':
	entrada=input("Por favor, digite ' pythonbay ': ")
Por favor, digite ' pythonbay ': cachorro
Por favor, digite ' pythonbay ': gato
Por favor, digite ' pythonbay ': python
Por favor, digite ' pythonbay ': pythonbay

Se adicionar “algum código” ao exemplo acima, 😉 dá pra construir um editor de textos a partir dele…
Veja um exemplo de contador, usando o while:


temperatura = 25
while temperatura <= 100:
    print(temperatura)
    temperatura = temperatura + 1

print("Tua água tá fervendo.")

Referências

https://wiki.python.org/moin/ForLoop.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 46 outros assinantes