FOR, estrutura de repetição ou também conhecido como laços de repetições, isso significa que há possibilidade de criar uma sequência repetitivas com um ou vários comandos.
Interessante, pois possibilita ao desenvolvedor a criar um código mais elaborado com menos linhas, imaginem num jogo de basquete que o personagem corre a arremessa a bola, sem o FOR nesse exemplo, o desenvolvedor teria que escrever muitas linhas e, com o FOR chegaria no mesmo objetivo com menos linhas escritas.
E se em algum momento, precisasse aumentar ou diminuir os passos da corrida até o arremesso, com o FOR, seria necessário alterar o valor do controle de repetição, simples assim.
Ao longo desse artigo, você vai entender e praticar várias possibilidades de utilização do FOR na linguagem Python.
Sintaxe: for <variável> in <objeto de controle>:
Para entendermos como é a lógica e prática, veja o slide onde representamos de forma objetiva a aplicação de FOR na linguagem Python.
Ao lado esquerdo temos a lógica do laço de repetição, entendemos que:
- Temos um círculo com setas representando do laço da repetição.
- Para cada vez que o laço se repete, temos a instrução ‘Digite a nota’, esse laço ficaria se repetindo sem parar se não fosse o controle de repetição, que é representado por 0 – 4.
- Então quando chegar na 4° vez, para o laço de repetição e segue com outras instruções do código.
- Vale ressaltar que o controle de repetição de 0 – 4 têm 5 números, mas o Python ignora sempre a última, nesse casso ele executa o laço de 0 – 3.
Ao lado direito, temos a transformação da lógica para a prática, vale ressaltar que range(0,4) faz o controle de repetição, e toda sintaxe precisa de uma variável, nesse caso representada pela letra ‘C’, pode ser qualquer nome, geralmente é definido o nome de acordo com o objetivo do laço de repetição.
Semelhante as estruturas condicionais, é preciso terminar fechando com dois pontos ‘:’ e, a instrução que será repetida indentada na linha abaixo com recuo de quatro espaços, segundo a convenção.
A aplicação do laço de repetição vai de acordo com a sua necessidade, respeitando as regras básicas apresentadas acima, seu código funcionará sem problemas.
Para entendermos melhor abaixo estão alguns exemplos práticos.
Laço de repetição com range (1, 7).
for c in range(1, 7):
print(c)
Abaixo o programa em execução
#
1
2
3
4
5
6
Analisando o código acima, entendemos que:
- Temos o laço de repetição onde a variável ‘C’ recebe o range de 1 a 7.
- Ao imprimir o conteúdo da variável ‘C’, é exibido os números em sequencia de 1 a 6, isto porque, o último número não é exibido, caso necessite que aparece o número 7, pode ser feito das seguintes maneiras.
- For c in range(1, 7+1):
- For c in range(1, 8):
- For c in range(1, 9-1):
- Altere o código com essas três opções e veja o resultado.
Laço de repetição com range (0, 10+1, 2).
for pares in range(0, 10+1, 2 ):
print(pares)
Abaixo o programa em execução
0
2
4
6
8
10
Analisando o código acima, entendemos que:
- Temos o laço de repetição onde a variável ‘pares’ recebe o range de 0 a 10+1 como passo de 2 em 2 números. ‘+1’ adiciona mais um número ao final da sequência.
- Nesse caso, temos a sequência de 0 até 10 exibindo apenas os números pares do menor para o maior, linha por linha.
Laço de repetição com range (100, -1, -10).
for pares in range(100, -1, -10):
print(pares, end=’ ‘) # para o print aparecer em linha com espaço.
Abaixo o programa em execução
#
100 90 80 70 60 50 40 30 20 10 0
Analisando o código acima, entendemos que:
- Temos o laço de repetição onde a variável ‘pares’ recebe o range de 100, -1, -10, onde -1 representa que deve iniciar do maior para o menor e, -10 indicando o passo de 10 em 10 também no maior para o menor.
- Logo após, imprimindo utilizando end=’ ‘, que com que o resultado seja impresso na horizontal, ou em uma única linha com um espaço entre os números.
- Nesse caso, temo a sequência de 100 até 0 exibindo apenas os números pares do maior para o menor.
Laço de repetição com range (0, 4) e interação do usuário.
soma = 0
for valor in range(0, 4):
num = int(input(‘Informe um número: ‘))
soma += num # é o mesmo que -> soma = soma + num.
print(‘A soma é {}’.format(soma))
Abaixo o programa em execução
#
Informe um número: 10
Informe um número: 20
Informe um número: 30
Informe um número: 40
A soma é 100
Analisando o código acima, entendemos que:
- Temos o laço de repetição onde a variável ‘valor’ recebe o range de (0, 4), mas antes de iniciar o laço, foi adicionado ao código uma variável global ‘soma’ com o valor 0 (zero).
- Este laço de repetição tem duas instruções que são:
- Uma variável ‘num’ da classe int, que recebe informações do usuário.
- Uma variável ‘soma’ da classe int, que recebe os valores da variável ‘num’, faz soma do valor digitado para cada ciclo do laço de repetição e guarda.
- E por fim, exibe na tela a soma.
- Ressalto que, é necessário declarar a variável ‘soma’ antes do laço de repetição, dessa forma, é possível utiliza-la a qualquer momento.
Laço de repetição com range (0, 4), interação do usuário e contador.
cont = 0
for valor in range(0, 4):
num = int(input(‘Informe um número: ‘))
if num % 2 == 0:
soma += num # é o mesmo que -> soma = soma + num.
cont += 1 # conta mais 1 se o if for verdadeiro.
print(‘das {} entradas pares, A soma é {}.’.format(cont, soma))
#
Abaixo o programa em execução
#
Informe um número: 30
Informe um número: 28
Informe um número: 55
Informe um número: 100
das 3 entradas pares, A soma é 158.
Analisando o código acima, entendemos que:
- Temos um laço de repetição onde a variável ‘valor’ recebe um range de (0, 4), mas antes e fora desse ciclo, foram adicionadas duas variáveis com valor 0 (zero) que são, ‘soma’ e ‘cont’.
- Neste laço, temos algumas instruções que são:
- Uma variável ‘num’ da classe int, que recebe entrada do usuário por 4 vezes.
- Em seguida a uma estrutura condicional simples, onde é utilizando somente o ‘if’, para validar se os números digitados pelo usuário são divisíveis por 2 e, se o resto desta divisão é igual a 0 (zero).
- Sendo esta condição verdadeira, a variável ‘soma’, faz a soma de todas as entradas feita pelo usuário e guarda.
- A variável ‘cont’ que inicialmente estava com valor 0 (zero), começa a contar 1 para cada ciclo, mediante a condição do ‘if’ verdade.
- E por fim, imprime na tela a quantidade de números divisíveis por 2 (dois) ou números pares e a soma de somente os números pares, ou divisíveis por 2 (dois) que foram digitados.
- Quando a estrutura condicional é falsa, o número é ignorado, ou seja, quando o número digitado pelo usuário for impar.
Laço de repetição com itens de uma Lista.
Devs = [‘C’, ‘Python’, ‘Java’, ‘C#’, ‘React’, ‘C++’]
for linguagens in Devs:
print(Temos vagas em: ‘, linguagens)
#
Abaixo o programa em execução
#
Temos vagas em: C
Temos vagas em: Python
Temos vagas em: Java
Temos vagas em: C#
Temos vagas em: React
Temos vagas em: C++
Laços de repetições também podem ser utilizando itens de uma Lista, Tulpas ou Dicionários, para tanto, o laço deve ser construindo para que a repetição aconteça para todos os itens, seja em uma Lista, Tulpas ou Dicionários.
Analisando o código acima, entendemos que:
- Temos uma variável ‘Devs’ da classe Streing, que recebe itens em uma Lista.
- Temos um laço de repetição onde a variável ‘linguagens’ recebe a informação da variável ‘Devs.
- Este laço tem uma instrução, que é imprimir todos os itens da Lista e depois parar.
Conclusão.
Essa são as principais aplicações do for com base na documentação oficial disponível em Python.org e também na lógica apresentada no início.
Existem outras aplicações, uma delas é a utilização de FOR e dentro outro laço de repetição, ou também a utilização de FOR e ELSE.
Tudo depende da necessidade do seu código.
Média Escolar com For.
Fonte de Pesquisa.
Receba todos os artigos direto no seu e-mail.
Abaixo deixei um formulário para você se cadastrar e acompanhar todos os nossos artigos sobre Python, que inicialmente será semanal. Respeitamos sua privacidade e não vamos enviar e-mails com outro assunto. Participe!
Gostou do artigo, então compartilha e ajuda o projeto Explorando TI trazer conteúdo gratuito.
Compartilhe
[addthis tool=”addthis_inline_share_toolbox_anib”]