Comandos de repetição


Muitas vezes precisaremos executar um bloco do código, um determinado número de vezes. O Python sugere neste caso que usemos a instrução de loop for e a função range( ).

No código, podemos implementar como: for i in range( ), descrito a seguir:

  • a palavra-chave for
  • um nome de variável
  • a palavra-chave in
  • uma chamada ao método range( ) com até três inteiros passados a ele
    • 1o. argumento:
    • 2o. argumento:
    • 3o. argumento:
  • dois pontos
  • começando na próxima linha, um bloco de código indentado (chamado de cláusula for).


Exemplicando uma situação que imprima 7 vezes a frase "Save the forest".

>>> for i in range(7):
...   print("Save the forest!")
... 
Save the forest!
Save the forest!
Save the forest!
Save the forest!
Save the forest!
Save the forest!
Save the forest!


O código da cláusula do loop é executado 7 vezes. Na primeira vez que é executado, a variável é definida como 0 (zero) e a cada passo é incrementada em uma unidade.

Mostrando a variação do índice: Experimente imprimir a seguinte expressão: "Passo " e logo a frente o valor do índice.

>>> for i in range(5):
...   print "Passo ",i
... 
Passo  0
Passo  1
Passo  2
Passo  3
Passo  4
>>> 

Podemos notar que o índice começa com zero, executa a instrução imprimindo "Passo 0". A seguir reinicia o processo, incrementado 1 no índice e imprima nova linha. Vai incrementando o índice até que seu valor atinge o limite 5 e antes de executar novamente o passo sai do laço.

  • Obs:
    • As instruções break e continue também podem ser usadas em loop for.
    • A instrução continue continuará com o próximo valor do contador do loop for, como se a execução do programa tivesse alcançado o final do loop e retornado ao início
    • Estas instruções são usadas apenas nos comandos for e while.


  • Exercícios:
    • Qual deve ser o código que pode substituir os pontos de interrogação de forma que imprima a figura abaixo?
>>> ?????????
...   ??????
... 
x
xx
xxx
xxxx
xxxxx
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx 

>>>





A chamada a print( ), na cláusula exibirá