07. For#
O objetivo de aprendizado deste handout é que, ao final da atividade, você seja capaz de utilizar o for
para percorrer listas e intervalos (range
) em seus programas em conjunto com as estruturas que vimos nas aulas anteriores (input
, if
, while
, etc.). Vamos começar com um exemplo.
Percorrendo listas com while
#
Exercise 1
Answer
A função soma_elementos
, recebe como argumento uma lista de números e retorna a soma destes números.
Desta forma, a soma dos valores da lista [2, 4, 6, 8]
resulta no valor 20
.
Vamos olhar em mais detalhes para a função soma_elementos
:
def soma_elementos(lista):
soma = 0
i = 0
while i < len(lista):
n = lista[i]
soma += n
i += 1
return soma
A função acima inicializa uma variável soma
com o valor zero e, para cada elemento n
da lista, adiciona o valor guardado em n
na variável soma
e vai para o próximo elemento. Depois disso, devolve o resultado da soma de todos os elementos. Depois de fazer muitos exercícios você pode ter percebido que em muitos casos temos uma estrutura muito parecida com essa quando estamos percorrendo uma lista:
# Faz algumas inicializações
i = 0
while i < len(lista):
elemento = lista[i]
# Faz alguma coisa com o elemento
i += 1
Com essa estrutura podemos, por exemplo, imprimir ou somar todos os elementos de uma lista. Nesses casos, a lógica é sempre parecida: executa alguma ação para cada elemento da lista. Na verdade esse tipo de procedimento é tão comum que existe uma maneira mais sucinta de fazer isso em Python: a repetição for
.
A repetição for
#
O for
percorre automaticamente todos os elementos em uma lista, caracteres em uma string, e outras estruturas que veremos no futuro:

Ele se comporta de forma semelhante ao while
se considerarmos que ele executa o bloco de código múltiplas vezes, mas uma diferença importante é que o for
não possui condição. Ele percorre todos os elementos e depois termina. Podemos ler o código abaixo:
como:
Assim, podemos reescrever o código a seguir:

utilizando o for
:

Cada vez que o Python for executar o bloco dentro do for
a variável e
será automaticamente atualizada com o valor do próximo elemento da lista.
A variável no comando for
Note que o for
é seguido por uma variável (for variavel in lista
). Como se trata de uma variável, podemos atribuir a ela o nome que quisermos.
Podemos utilizar elemento
, item
ou qualquer outro nome. Por exemplo:
for elemento in lista:
for item in lista:
for e in lista:
Exercise 2
Answer
O código abaixo não utiliza o comando for
de forma correta.
IndexError: list index out of range
, que se refere aos casos em que tentamos acessar uma posição que não existe na lista.
Note, que ao utilizarmos o comando for
não precisamos acessar o valor da lista passando o índice, como o exemplo lista[i]
. Isso porque a variável i
não representa o índice.
Exercise 3
Exercise 4
Exercise 5
Exercise 6
O range
#
Agora vamos ver a função range
. Clique aqui