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
0 Comentários