Python para Desenvolvedores

2ª edição, revisada e ampliada

Capítulo 4: Laços


Laços (loops) são estruturas de repetição, geralmente usados para processar coleções de dados, tais como linhas de um arquivo ou registros de um banco de dados, que precisam ser processados por um mesmo bloco de código.

For

É a estrutura de repetição mais usada no Python. A instrução aceita não só sequências estáticas, mas também sequências geradas por iteradores. Iteradores são estruturas que permitem iterações, ou seja, acesso aos itens de uma coleção de elementos, de forma sequencial.

Exemplo de laço

Durante a execução de um laço for, a referência aponta para um elemento da sequência. A cada iteração, a referência é atualizada, para que o bloco de código do for processe o elemento correspondente.

A clausula break interrompe o laço e continue passa para a próxima iteração. O código dentro do else é executado ao final do laço, a não ser que o laço tenha sido interrompido por break.

Sintaxe:

for <referência> in <sequência>:
    <bloco de código>
    continue
    break
else:
    <bloco de código>

Exemplo:

In [1]:
# Soma de 0 a 99
s = 0
for x in range(1, 100):
    s = s + x
print s
4950

A função range(m, n, p), é muito útil em laços, pois retorna uma lista de inteiros, começando em m e menores que n, em passos de comprimento p, que podem ser usados como sequência para o laço.

While

Executa um bloco de código atendendo a uma condição.

Sintaxe:

while <condição>:
    <bloco de código>
    continue
    break
else:
    <bloco de código>

O bloco de código dentro do laço while é repetido enquanto a condição do laço estiver sendo avaliada como verdadeira.

Exemplo:

In [2]:
# Soma de 0 a 99
s = 0
x = 1

while x < 100:
    s = s + x
    x = x + 1
print s
4950

O laço while é adequado quando não há como determinar quantas iterações vão ocorrer e não há uma sequência a seguir.

In [1]:
 
Out[1]: