Indo Além - Loops for
#
Agora que já temos alguma experiência com loops for
vamos aprimorar nosso uso de loops em geral. Temos duas opções, while
e for
, que podem fazer essencialmente as mesmas operações de repetição. Porém, em geral uma delas é muito mais fácil de escrever e ler.
Iremos adotar as seguintes regras para melhorar a legibilidade e clareza dos nossos programas.
Quando usar while
: quando não sabemos quantas vezes o loop irá rodar e isso depende de algo que acontece dentro do loop. Veja alguns exemplos:
- validar entrada do usuário
- em um jogo de adivinhação, o usuário tem que acertar o número sorteado
- executar até que um dado tenha valor maior que 5
Quando usar for
: quando já conhecemos antes de começar o loop o número máximo de vezes que ele irá rodar. Alguns exemplos disso são:
- ler
n
inteiros do terminal - fazer a média de elementos de uma lista
- calcular o valor de uma fórmula matemática com somatório
Convertendo código while
para usar for
#
No momento vocês já tem prática em usar loops while
e já reconhecem mais facilmente quando usá-lo. Veremos agora como reescrever códigos para usar for
nos casos que enumeramos acima.
Um loop com contagem,por exemplo, pode ser escrito com while
da maneira abaixo.
Porém é muito mais rápido e legível escrevê-lo com um for
!
O valor 10
pode ser também uma variável e não precisa ser somente um número fixo. A regra geral para usar o for
para contagem é usar o range da maneira abaixo:
range(valor_inicial, valor_final_mais_um, incremento)
Por exemplo, para contar de 5
até 10
(inclusive) usamos range(5, 10)
. Se quisermos pular de dois em dois seria range(5, 10, 2)
.
Também podemos ir de trás para frente: range(10, 1, -1)
começa em 10
e vai diminuindo até chegar no 2
.
Exercício 1
Exercício 2
Resposta
A opção range(0, n, 1)
, apesar de estar funcionalmente correta, é menos desejada que a primeira. O valores padrão para início e incremento são 0 e 1, então podemos passar só o fim em muitas situações.
Exercício 3
Exercício 4
Exercício 5