Laço for

Python SELF PT
Nível 4 , Lição 2
Disponível

8.1 Laço for

Poder executar um grupo de comandos sob uma condição específica é ótimo. Mas e se eu quiser executar alguma ação 100 vezes? Como fazer isso?

Para isso, na linguagem Python existem laços. E para nossa tarefa, o laço for é perfeito. A estrutura básica do comando for é a seguinte:

for variável in lista_de_valores:
    comando1
    comando2
    comandoN

Onde lista_de_valores é um conjunto de valores: lista, string, dicionário (falaremos sobre eles mais tarde).

A variável assume sequencialmente valores da lista_de_valores, e para cada um desses valores, o bloco de comandos é executado.

Exemplo:

Exemplo Explicação

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
1. A variável fruit assume o valor "apple" e o comando print(fruit) é executado. 2. A variável fruit assume o valor "banana" e o comando print(fruit) é executado. 3. A variável fruit assume o valor "cherry" e o comando print(fruit) é executado.

É assim que o laço funciona:

Se houver 10 valores na lista após a palavra in, então o bloco de comandos será executado 10 vezes.

Para cada valor na lista_de_valores acontecem duas coisas:

  1. A variável do laço (indicada após a palavra for) assume o próximo valor da lista_de_valores.
  2. Em seguida, o bloco de comandos é executado.

Outro exemplo:

Exemplo Explicação

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for x in numbers:
    print(x)
O laço irá imprimir os números na tela:
1
2
3
4
5
6
7
8
9
10

8.2 Definindo o intervalo — range

No último exemplo, vimos que é muito fácil imprimir 10 números na tela. Mas e se quisermos executar o laço 100 vezes? Ou 1000?

Existe, obviamente, uma solução para isso. Na linguagem Python, existe uma função chamada range() usada para gerar uma sequência de números que, em combinação com o laço for, se torna uma ferramenta poderosa para lidar com tarefas repetitivas.

A função range() pode ser usada de várias maneiras, dependendo do número de argumentos passados para ela.

Principais formas de uso do range():

Um argumento: range(n) gera uma sequência de 0 a n-1. Isso é útil quando precisamos executar uma ação um certo número de vezes.


for i in range(5):
    print(i)  # Irá imprimir os números de 0 a 4

Dois argumentos: range(start, stop) gera uma sequência de start a stop-1. Isso é útil para começar a iteração a partir de um número específico.


for i in range(1, 6):
    print(i)  # Irá imprimir os números de 1 a 5 

Três argumentos: range(start, stop, step) adiciona um terceiro argumento step, que define o intervalo entre os números na sequência.


for i in range(0, 10, 2):
    print(i)  # Irá imprimir os números pares de 0 a 8  

Laços reversos: range() pode gerar números em ordem reversa, permitindo realizar iterações ao contrário.


for i in range(10, 0, -1):
    print(i)  # Irá imprimir os números de 10 a 1 

A função range() combinada com o laço for oferece uma ferramenta flexível para controlar iterações em Python. Compreender suas capacidades ajuda a criar laços mais eficientes e claros, os quais são partes essenciais de qualquer programa.

8.3 Laço por lista

Se você quer realizar um conjunto de ações sobre valores diferentes, a função range() não é adequada. Você sempre pode agrupar esses valores em uma lista usando colchetes. A estrutura básica dessa operação é a seguinte:


for variável in [val1, val2, …, valN]:
    comando1
    comando2
    comandoN

Você só precisa listar os valores separados por vírgula, e o laço será executado para cada um deles, enquanto a variável assume cada valor sequencialmente. Exemplo:

Exemplo Explicação

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
                    
O laço irá imprimir as strings na tela:
apple
banana
cherry

Você pode incluir números na lista, e diretamente no laço após a palavra in:

Exemplo Explicação

for price in [0.99, 2.75, 0.25]:
    print(price)
O laço irá imprimir os números na tela:
0.99
2.75
0.25

Na lista, você pode listar objetos de qualquer tipo:

Exemplo Explicação

for data in [0.99, "apple", -1, True]:
    print(data)
                
O laço irá imprimir as strings na tela:
0.99
apple
-1
True
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION