Python 3 - para instruções de loop
A instrução for em Python tem a capacidade de iterar sobre os itens de qualquer sequência, como uma lista ou uma string.
Sintaxe
for iterating_var in sequence:
statements(s)
Se uma sequência contém uma lista de expressões, ela é avaliada primeiro. Em seguida, o primeiro item na sequência é atribuído à variável iterativa iterating_var . Em seguida, o bloco de instruções é executado. Cada item da lista é atribuído a iterating_var , e o bloco de instrução é executado até que toda a sequência seja exaurida.
Diagrama de fluxo
A função range ()
A função interna range () é a função certa para iterar em uma sequência de números. Ele gera um iterador de progressões aritméticas.
Exemplo
>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
Exemplo
range () gera um iterador para o progresso de inteiros começando com 0 até n-1. Para obter um objeto de lista da sequência, ele é convertido em list (). Agora, essa lista pode ser iterada usando a instrução for.
>>> for var in list(range(5)):
print (var)
Resultado
Isso produzirá a seguinte saída.
0
1
2
3
4
Exemplo
#!/usr/bin/python3
for letter in 'Python': # traversal of a string sequence
print ('Current Letter :', letter)
print()
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # traversal of List sequence
print ('Current fruit :', fruit)
print ("Good bye!")
Resultado
Quando o código acima é executado, ele produz o seguinte resultado -
Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : h
Current Letter : o
Current Letter : n
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!
Iterando por Índice de Sequência
Uma maneira alternativa de iterar por cada item é por deslocamento de índice na própria sequência. A seguir está um exemplo simples -
Exemplo
#!/usr/bin/python3
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print ('Current fruit :', fruits[index])
print ("Good bye!")
Resultado
Quando o código acima é executado, ele produz o seguinte resultado -
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!
Aqui, recebemos a ajuda da função interna len (), que fornece o número total de elementos na tupla, bem como a função interna range () para nos dar a sequência real para iterar.
Usando instrução else com loops
Python suporta ter uma instrução else associada a uma instrução loop.
Se o else declaração é usada com um for loop, o else O bloco é executado somente se os loops for terminarem normalmente (e não encontrando a instrução break).
Se o else declaração é usada com um while loop, o else declaração é executada quando a condição se torna falsa.
Exemplo
O exemplo a seguir ilustra a combinação de uma instrução else com um for declaração que procura um número par em determinada lista.
#!/usr/bin/python3
numbers = [11,33,55,39,55,75,37,21,23,41,13]
for num in numbers:
if num%2 == 0:
print ('the list contains an even number')
break
else:
print ('the list doesnot contain even number')
Resultado
Quando o código acima é executado, ele produz o seguinte resultado -
the list does not contain even number