S04 - Atividade de Aprendizagem (2 de 3): Laços For (For Loops)
Visão Geral
Nesta aula, você continuará trabalhando com loops e aprendendo como resolver problemas mais complexos.
Material de Preparação
Na aula anterior, você aprendeu sobre loops while. Nesta aula, você aproveitará aqueles fundamentos para
aprender sobre outro tipo de loop, chamado loop for.
Link Direto: Laços de Repetição For
Link Direto: Laços de Repetição For Usando Range
Conforme mostrado, existem algumas maneiras diferentes de instruir o computador a percorrer o código repetidamente em loop.
Loop em lista
Um exemplo de loop é percorrer, ou iterar, cada item de uma coleção ou lista, um de cada vez. Você aprenderá sobre listas com mais detalhes nas próximas aulas, mas o exemplo a seguir mostra um loop percorrendo uma lista de palavras para exibi-las na tela, uma de cada vez:
itens = ["giz", "tesoura", "papel", "cola", "marcador", "canetas"]
for item in itens:
print(f"O item é: {item}")
A saída deste código é:
O item é: giz
O item é: tesoura
O item é: papel
O item é: cola
O item é: marcador
O item é: canetas
Assim como acontece com as instruções if, os dois-pontos : no final da sua instrução
for informam ao computador que há um bloco de código chegando. Em seguida, você indenta todo o código que
está no bloco. O código indentado é o código que será executado a cada item da lista.
Ao fazer o loop de cada item, você pode fazer muito mais com ele do que simplesmente exibi-lo na tela. Você pode
incluir uma instrução if para verificar se ele atende a certas condições, e então usá-lo em uma
expressão matemática ou em qualquer outra coisa que você aprendeu a fazer em seus programas.
Perguntas Frequentes:
E a variável item? É um nome especial? Onde isso é definido?
Não há nada de especial no nome item. Essa variável poderia facilmente ter sido chamada de coisa ou
material_de_papelaria.
A sintaxe do loop for aqui é muito engenhosa. Quando você digita for item in itens:, a variável
de lista itens já deve existir, mas a variável para cada elemento individual da lista, neste caso
item, é definida diretamente na instrução. Resumindo, você está dizendo: "Examine cada elemento
desta lista e atribua uma nova variável item para ser o valor a cada iteração."
Loop em números
É muito comum na programação querer fazer um loop em uma série de números. Você poderia criar uma lista de números, assim como a lista de palavras do último exemplo, assim:
numeros = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Mas isso pode demorar muito se você quiser trabalhar com uma grande quantidade de números, então existe uma
maneira mais fácil que é usando range.
Você pode criar a mesma lista de números assim:
numeros = range(10)
Isso cria uma lista de números para você que começa em 0 e vai até (mas não incluindo) 10.
Você poderia atribuir esta lista a uma variável como numeros, como no exemplo acima, e então percorrer cada número na lista de números. Mas é mais comum apenas colocar o código range diretamente
no seu loop for, da seguinte forma:
for numero in range(10):
print(numero)
A saída deste código é:
0
1
2
3
4
5
6
7
8
9
Dica do Instrutor:
Nas linguagens de programação, geralmente começamos a contar em 0 em vez de 1. Existem razões para isso, mas mais do que tudo, é algo com o qual você terá que se acostumar.
A função range oferece outras opções, como começar com um número diferente, contar de 3 em 3 ou até
retroceder. Em todos esses casos, a ideia de fazer o loop nos valores é a mesma. Você começa com o primeiro e
então continua, um por um, na lista.
Para começar com um número diferente, você fornece dois valores para a função range. Se você
fornecer dois números, começará com o primeiro e continuará até (mas não incluindo) o segundo.
Se você fornecer três valores para a função range, ela usará o terceiro número como o “tamanho do
passo", ou seja, de quanto em quanto o programa vai contar.
# Este loop começará com 100 e irá até, mas não incluindo, 200
for i in range(100, 200):
print(i)
# Este loop fará a mesma coisa, mas desta vez contará de 10 em 10
for i in range(100, 200, 10):
print(i)
Loops dentro de loops
Um loop repetirá automaticamente qualquer código que esteja em seu corpo. Esse código pode incluir instruções if, matemática, novas definições de variáveis ou qualquer outra coisa, incluindo outros loops!
O exemplo a seguir exibe os números de 0 a 4:
for i in range(5):
print(i)
Saída:
0
1
2
3
4
Podemos adicionar um segundo loop interno que exiba os números 10-12, com dois caracteres
- na frente para facilitar a visualização.
for i in range(5):
print(i)
for j in range(10, 13):
print(f"--{j}")
Saída:
0
--10
--11
--12
1
--10
--11
--12
2
--10
--11
--12
3
--10
--11
--12
4
--10
--11
--12
Observe como o loop interno é executado toda vez que o loop externo exibe seu número. Os loops internos podem ser muito úteis na iteração através de uma estrutura bidimensional, como os pixels de uma imagem.
Dica do Instrutor:
Embora costumemos preferir nomes de variáveis que sejam mais descritivos do que uma única letra, se a
variável for usada apenas para contagem em um loop simples, é considerado padrão usar i. Então, se
você tiver um loop interno, use j. Para um terceiro loop interno, o padrão é k. Se
você tiver mais de três loops, considere se existe uma maneira mais simples de realizar sua tarefa e, se
realmente não houver, você deve pelo menos passar a utilizar nomes de variáveis mais descritivos nesse ponto.
Instruções da Atividade
Escreva um programa em Python que execute cada uma das seguintes funções:
-
Dada a seguinte lista de itens (copie e cole esta linha em seu programa):
cores = ["vermelho", "azul", "verde", "amarelo"]Use um loop
forpara percorre esta lista item por item e exibir cada um em sua própria linha, da seguinte maneira:vermelho azul verde amarelo -
Use um loop
forpara exibir os números de 1 a 8, um número em cada linha, da seguinte maneira: -
Use um loop
forpara exibir os números pares (dica: conte de 2 em 2) de 2 a 20, um número em cada linha, da seguinte maneira: -
Verifique se as cores são exibidas conforme desejado.
-
Verifique se a saída da parte 2 não inclui 0.
-
Verifique se a saída da parte 2 não inclui 9.
-
Verifique se a saída da parte 3 não inclui números ímpares.
-
Verifique se a saída da parte 3 começa em 2 e termina em 20.
- S04 - Atividade de Aprendizagem (3 de 3): Percorrendo Strings
- Voltar para: Visão Geral da Semana | Página Inicial
1
2
3
4
5
6
7
8
2
4
6
8
10
12
14
16
18
20
Exemplo de Solução
Exemplo de Solução
Quando terminar seu programa, por favor, consulte o exemplo de solução para comparar sua abordagem com a apresentada.
Primeiro, trabalhe para concluir o programa sem consultar o exemplo de solução. Caso tenha trabalhado por um longo tempo e ainda enfrente dificuldades, sinta-se à vontade para usar o exemplo para ajudá-lo a finalizar seu programa.
Procedimento de Teste
Verifique se seu programa funciona corretamente seguindo cada etapa deste procedimento de teste:
Envio de Tarefa
Quando você tiver concluído todas as atividades de aprendizagem desta semana, volte ao Canvas e responda ao respectivo questionário.
Próxima Atividade
Outros Links: