Estruturas de Repetição II— For

Replicação sem duplicação

Willian Pessoa
Reflexão Computacional
5 min readMay 16, 2019

--

Continuação de:

Estruturas de Repetição I

Comando ‘for’ (“para cada”)

Além de utilizarmos o for (enquanto) para replicarmos um bloco de código, também utilizamos este comando para iterarmos uma sequência — lista, tupla, etc. — de forma muito mais simples do que o comando While.

O modo de utilizar o for é o seguinte:

# '-' simboliza um espaço (tab)
# lemos "para cada elemento na sequência"
for elemento in <sequencia>:
----<código>

A quantidade de iterações (repetições) será igual ao número de elementos da sequência.

Para cada iteração, a variável ‘elemento’ assumirá um valor da sequência. Por exemplo:

  • Na primeira iteração, o valor de ‘elemento’ será igual ao primeiro elemento da sequência;
  • Na segunda iteração, o valor de ‘elemento’ será igual ao segundo elemento da sequência;
  • E assim sucessivamente.

Utilizaremos o exemplo da ‘lista de monitores’ da seção While:

Código exemplo utilizando o while.
Execução do código exemplo utilizando o while.

Vejamos como ficaria esse código utilizando o comando for.

Código exemplo utilizando o for.
Execução do código exemplo utilzando o for.

Nosso código ficou bem mais simples, não foi?

Só utilizaremos o ‘for’ para iterarmos sequências?

Não! Utilizaremos para diversos outros casos, os quais vamos mostrar a seguir. Começamos esta seção pela parte de iteração de sequências, pois é a característica mais marcante deste comando.

Comando ‘for’ e o comando “range”

O range (intervalo) é comando que utilizamos quando precisamos realizar uma iteração através de números.

A sintaxe do comando range é:

# range -> intervalo# start -> início
# stop -> parada
# step -> passo
range(start, stop, step)

Os argumentos deste comando possuem o mesmo sentindo dos argumentos do operador [] que vimos em Estruturas de Dados. E o retorno deste comando é um tipo range, o qual podemos utilizar para criar lista de números.

Vejamos alguns exemplos:

Exemplos de criação de listas utilizando o comando range no modo interativo do Python (shell).

A quantidade de argumentos passados para o range é interpretada da seguinte forma:

  • Um argumento é interpretado como o valor do índice final (stop);
  • Dois argumentos são interpretados como o primeiro argumento sendo o índice inicial (start) e o segundo sendo o índice final (stop);
  • Três (todos) argumentos são interpretados como o primeiro argumento sendo o índice inicial (start), o segundo sendo o índice final (stop) e terceiro sendo o passo (step).

Vejamos alguns exemplos de combinação do comando range com o comando for.

  • Imprimindo números de 1 até 10:
Código exemplo.
Execução do código exemplo.
  • Imprimindo todos os números pares até 1000 (lado a lado):
Código exemplo.
Execução do código exemplo.
  • Iterando o exemplo ‘lista de monitores’ utilizando o range:
Código exemplo.
Execução do código exemplo.

Iterando mais de uma sequência

Podemos iterar mais de uma sequência durante um for, contanto que as sequências possuam o mesmo tamanho. Existem diversas formas de fazermos isso:

  • Utilizando o comando range:
Código exemplo.
Execução do código exemplo.
  • Utilizando o comando zip:
Código exemplo.
Execução do código exemplo.

Nota: Utilizando o comando zip, a cada iteração, temos uma tupla composta com um elemento de cada sequência. Mais detalhes na documentação sobre zip.

  • Para ainda termos a informação do índice, podemos utilizar o comando enumerate:
Código exemplo.
Execução do código exemplo.

“É MUITA COISA PRA GRAVAR! MUITAS FORMAS!”

Não precisamos gravar nada. Só precisamos lembrar onde procurar quando precisarmos usar algum conceito de programação e não lembrarmos uma maneira de fazer isso.

Dificilmente você “precisará” utilizar todas as formas que mostramos aqui. Escolha a forma que mais te agrada!

Interrompendo o loop — comandos ‘break’ e ‘continue’

Haverá momentos em que necessitaremos alterar o fluxo do loop. Funciona da mesma forma que no comando while. Existem duas formas de fazer isso:

  • Interrompendo toda a iteração (o loop inteiro) com o comando break (quebra):
Código exemplo.
Execução do código exemplo.
  • Interrompendo uma iteração do loop com o comando continue:
Código exemplo.
Execução do código exemplo.

Tem mais alguma coisa sobre o ‘while’’?

Tem! O comando for poder ser usado com o comando else, assim como no while. Entretanto, não abordaremos esse caso especial — só o Python possui esta funcionalidade (usar else com for e while).

Exercícios

Faça os exercícios recomendados para esta seção:

--

--