Python para loop [com exemplos fáceis]

O loop for em Python é uma função de iteração. Se você tem um objeto de sequência como uma lista, você pode usar o loop for para iterar sobre os itens contidos na lista.

A funcionalidade do loop for não é muito diferente do que você vê em várias outras linguagens de programação.

Neste artigo, vamos explorar detalhadamente o loop for em Python e aprender a iterar sobre diferentes sequências, incluindo listas, tuplas e muito mais. Além disso, vamos aprender a controlar o fluxo do loop usando as instruções break e continue.

Sintaxe básica do loop for em Python

A sintaxe básica do loop for em Python se parece com a mencionada abaixo.

for itarator_variable in sequence_name:
	Statements
	. . .
	Statements

Deixe-me explicar melhor a sintaxe do loop for em Python.

  • A primeira palavra da declaração começa com a palavra-chave “for”, que significa o início do loop for.
  • Em seguida, temos a variável iteradora que itera sobre a sequência e pode ser usada dentro do loop para executar várias funções
  • O próximo é a palavra-chave “in” em Python, que indica à variável iteradora para iterar sobre elementos dentro da sequência.
  • E finalmente, temos a variável de sequência que pode ser uma lista, uma tupla ou qualquer outro tipo de iterador.
  • A parte das declarações do loop é onde você pode manipular a variável do iterador e executar várias funções

1. Imprimir letras individuais de uma string usando o loop for

A string Python é uma sequência de caracteres. Se dentro de qualquer uma de suas aplicações de programação, você precisar percorrer os caracteres de uma string individualmente, você pode usar o loop for aqui.

Aqui está como isso funcionaria para você.

word="anaconda"
for letter in word:
	print (letter)

Saída:

a
n
a
c
o
n
d
a

O motivo pelo qual este loop funciona é porque o Python considera uma “string” como uma sequência de caracteres em vez de olhar para a string como um todo.

2. Usando o loop for para iterar sobre uma lista ou tupla Python

Listas e Tuplas são objetos iteráveis. Vamos ver como podemos iterar sobre os elementos dentro desses objetos agora.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
	print (word)

Saída:

Apple
Banana
Car
Dolphin

Agora, vamos avançar e trabalhar na iteração sobre os elementos de uma tupla aqui.

nums = (1, 2, 3, 4)

sum_nums = 0

for num in nums:
    sum_nums = sum_nums + num

print(f'Sum of numbers is {sum_nums}')

# Saída
# A soma dos números é 10

3. Aninhando laços for em Python

Quando temos um laço for dentro de outro laço for, isso é chamado de laço for aninhado. Existem múltiplas aplicações para um laço for aninhado.

Considere o exemplo de lista acima. O laço for imprime palavras individuais da lista. Mas e se quisermos imprimir os caracteres individuais de cada uma das palavras dentro da lista, em vez disso?

É aqui que um laço for aninhado funciona melhor. O primeiro laço (laço pai) vai passar pelas palavras uma a uma. O segundo laço (laço filho) vai iterar sobre os caracteres de cada uma das palavras.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
        #Este laço está buscando palavra da lista
        print ("The following lines will print each letters of "+word)
        for letter in word:
                #Este laço está buscando letra para a palavra
                print (letter)
        print("") #Este print é usado para imprimir uma linha em branco

Saída

4. Loop for em Python com a função range()

O range do Python() é uma das funções integradas. Quando você deseja que o loop for seja executado por um número específico de vezes, ou precisa especificar um intervalo de objetos para imprimir, a função range funciona muito bem. Considere o seguinte exemplo onde quero imprimir os números 1, 2 e 3.

for x in range(3):
    print("Printing:", x)
	
# Saída

# Imprimindo: 0
# Imprimindo: 1
# Imprimindo: 2

A função range também aceita outro parâmetro além do início e do fim. Este é o parâmetro de passo. Ele informa à função range quantos números pular entre cada contagem.

No exemplo abaixo, usei o número 3 como o passo e você pode ver que os números de saída são o número anterior + 3.

for n in range(1, 10, 3):
    print("Printing with step:", n)
	
# Saída

# Imprimindo com passo: 1
# Imprimindo com passo: 4
# Imprimindo com passo: 7

5. instrução break com loop for

A instrução break é usada para sair prematuramente do loop for. É usada para interromper o loop for quando uma condição específica é atendida.

Vamos supor que temos uma lista de números e queremos verificar se um número está presente ou não. Podemos iterar sobre a lista de números e, se o número for encontrado, sair do loop porque não precisamos continuar iterando sobre os elementos restantes.

Neste caso, usaremos a condição if else do Python juntamente com nosso loop for.

nums = [1, 2, 3, 4, 5, 6]

n = 2

found = False
for num in nums:
    if n == num:
        found = True
        break

print(f'List contains {n}: {found}')

# Saída
# Lista contém 2: Verdadeiro

6. A instrução continue com loop for

Podemos usar instruções continue dentro de um loop for para pular a execução do corpo do loop for para uma condição específica.

Vamos supor que temos uma lista de números e queremos imprimir a soma dos números positivos. Podemos usar as instruções continue para pular o loop for para os números negativos.

nums = [1, 2, -3, 4, -5, 6]

sum_positives = 0

for num in nums:
    if num < 0:
        continue
    sum_positives += num

print(f'Sum of Positive Numbers: {sum_positives}')

6. Python for loop with an else block

Podemos usar o bloco else com um loop for em Python. O bloco else é executado apenas quando o loop for não é encerrado por uma instrução break.

Vamos supor que temos uma função para imprimir a soma dos números se e somente se todos os números forem pares.

Podemos usar a instrução break para encerrar o loop for se um número ímpar estiver presente. Podemos imprimir a soma na parte else para que ela seja impressa apenas quando o loop for executado normalmente.

def print_sum_even_nums(even_nums):
    total = 0

    for x in even_nums:
        if x % 2 != 0:
            break

        total += x
    else:
        print("For loop executed normally")
        print(f'Sum of numbers {total}')


# isso imprimirá a soma
print_sum_even_nums([2, 4, 6, 8])

# isso não imprimirá a soma devido a um número ímpar na sequência
print_sum_even_nums([2, 4, 5, 8])

# Saída

# Loop for executado normalmente
# Soma dos números 20

Conclusão

O loop for em Python é muito semelhante a outras linguagens de programação. Podemos usar as instruções break e continue com o loop for para alterar a execução. No entanto, em Python, também podemos ter um bloco else opcional no loop for.

I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.

Source:
https://www.digitalocean.com/community/tutorials/python-for-loop-example