Os computadores são frequentemente usados para automatizar tarefas repetitivas. Repetir tarefas idênticas ou semelhantes sem cometer erros é algo que os computadores fazem bem e as pessoas, mal.

A execução repetida de um conjunto de instruções é chamada de iteração. Como a iteração é muito comum, o Python fornece vários recursos de linguagem para torná-la mais fácil.

Python for Loop

O Python For Loop pode ser usado para iterar um conjunto de instruções uma vez para cada item de uma sequência ou coleção.

A sequência ou coleção pode ser intervalo, lista, tupla, dicionário, conjunto ou uma string.

Python for Loop Sintaxe 

A sintaxe do For Loop em Python é :

for item in iterável:

    afirmações


Você pode acessar a variável do item dentro do bloco. Iterável pode ser uma sequência ou coleção.


Diagrama de fluxo - Python for Loop

O fluxograma do Python for Loop é:


Quando a execução do programa entra em loop for pela primeira vez, ele verifica se há um item de iterável. Se um item estiver disponível, o programa executa instruções dentro do bloco. Após a execução das instruções, o programa verifica se há próximo item disponível. Se for Verdadeiro, então as instrucões são executadas novamente para este próximo item. O bloco de loop for é executado para cada item no iterável. 


Depois de executar as instruções para todos os itens no iterável, a execução chega a uma situação em que não há próximo item no iterável. Nesse momento, como não há próximo item, o loop for é considerado concluído e a execução continua com as próximas instruções do programa.


Python For Loop com range ( intervalo )

Usaremos um loop for para iterar em um intervalo de números.

 

for i in range(0,10):

    print(i)

 


Saida: -----------------------------------


0

1

2

3

4

5

6

7

8

9


O intervalo é de 0 a 10. Portanto, o intervalo tem itens: 1, 2, 3, 4, 5, 6, 7, 8 e 9. As instruções dentro do loop for são executadas para cada um desses elementos.

Para esses exemplos, o corpo do loop for tem apenas uma instrução de impressão. Mas, você pode escrever quantas declarações forem necessárias seguindo o recuo.


Python for Loop com Lista

Pegaremos uma lista e iteraremos os itens da lista usando o loop for.

 

minha_lista = ['usando', 'python', 'joao', 'futi']

 

for item in minha_lista:

    print(item)

 


Saida: -----------------------------------


usando

python

joao

futi


Observe que, durante cada iteração, podemos acessar o item para o qual o loop está sendo executado. Nesse caso, podemos acessar o item usando a variável item.


Python for Loop com Tuple

Pegaremos uma tuple e iteraremos sobre os itens da tuple.

 

minha_tuple = ('usando', 'python', 'joao', 'futi')

 

for item in minha_tuple:

    print(item)

 


Saida: -----------------------------------


usando

python

joao

futi

Python for Loop com Dicionário

Pegaremos um dicionário e iteraremos sobre os pares chave: valor do dicionário usando o loop for.

 

meu_dicionario = {'nome':'Joao', 'pais':'Angola', 'cidade':'Cabinda'}

 

for item in meu_dicionario:

    print(item, ':', meu_dicionario[item])

 


Saida: -----------------------------------


nome : Joao

pais : Angola

cidade : Cabinda



A variável meu_diionario retorna um iterável para as chaves do dicionário. Portanto, podemos obter apenas a chave em item. Mas usando item como chave, estamos acessando o valor do dicionário dentro do bloco.

Python for Loop com Set

Pegaremos um conjunto de itens e iteraremos sobre cada um dos itens usando o loop for.

 

meu_set = {'usando', 'python', 'joao', 'futi'}

 

for item in meu_set:

    print(item)


Saida: -----------------------------------


futi

joao

python

usando


Como o set é uma coleção não ordenada, a ordem em que o loop for acessa o próximo item do conjunto não é óbvia.


Python for Loop com String

String é uma coleção de caracteres. Contanto que possamos obter um iterável para o objeto, podemos usar o loop for.

Vamos pegar uma string e iterar os caracteres usando o loop for.

 

minha_string = 'usandopython'

 

for item in minha_string:

    print(item)

 


Saida: -----------------------------------


u

s

a

n

d

o

p

y

t

h

o

n



Python for Loop - break  ( pausa )

A partir da sintaxe e do diagrama de fluxo, sabemos que o loop for terminará somente após a execução de instruções para todos os elementos no iterável. Mas, podemos quebrar o loop for e encerrá-lo antes que ele realmente seja executado para todos os elementos no iterável usando a instrução break.


No programa a seguir, quebraremos o loop for, quando o valor do elemento for 5. Para perceber isso, usaremos uma instrução if e executaremos a instrução break quando a condição for avaliada como True.


 

for i in range(1, 10):

    if(i==5):

        break

    print(i)

 


Saida: -----------------------------------


1

2

3

4


Se não houvesse a instrução break, o loop for teria sido executado até que i fosse 10.

Python for Loop - continuar

Podemos pular a execução de outras instruções no corpo do loop for, durante essa iteração, usando a instrução continue. Quando a instrução continue é executada, o loop for continua com a execução do próximo elemento no iterável, em vez de completar todas as instruções no corpo do loop for.

No programa de exemplo a seguir, continuaremos o loop for, quando o valor do elemento for 5.

 

for i in range(1, 10):

    if(i==5):

        continue

    print(i)

 


Saida: -----------------------------------


1

2

3

4

6

7

8

9


Quando i é 5, a instrução continue é executada. A instrução print após a instrução continue no loop for foi ignorada e continuou com o próximo elemento no loop, que é 6.

Python for Loop com Else Block

Assim como em uma instrução if-else, você pode usar um bloco else com o loop for. Este bloco else é executado após o loop for ser concluído com todos os elementos no iterável. No exemplo a seguir, escreveremos um bloco else com loop for.


 

for i in range(1, 5):

    print(i)

else:

    print('Fora do loop for')

   


Saida: -----------------------------------


1

2

3

4

Fora do loop for


Python Aninhado for Loop

Python for Loop é como outro comando ou instrução Python. Então, pode escrever um loop for dentro de outro loop for e isso é chamado de aninhamento. O loop for dentro de outro loop for é denominado Loop For aninhado.

No programa a seguir, escreveremos um loop for aninhado, para imprimir um padrão de números no console.

 

for x in range(5):

    for y in range(6):

        print(x, end=' ')

    print()

 


Saida: -----------------------------------


0 0 0 0 0 0 

1 1 1 1 1 1 

2 2 2 2 2 2

3 3 3 3 3 3

4 4 4 4 4 4