English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico do Python

Controle de Fluxo do Python

Função do Python

Tipos de Dados do Python

Operações de Arquivos do Python

Objetos e Classes do Python

Data e Hora do Python

Conhecimento Avançado do Python

Manual de Referência do Python

Loop for do Python

O loop for em Python pode percorrer itens de qualquer sequência, como uma lista ou uma string.

O que é o loop for em Python?

O loop for em Python é usado para iterar sobre sequências (lista,tupla,string) ou outro objeto iterável. Iterar sobre uma sequência é chamado de percorrer.

Sintaxe do loop for

for val in sequence:
	Corpo do loop for

Aqui, val é a variável que obtemos o valor do item dentro da sequência em cada iteração.

O loop continua até que能达到序列中的最后一项。使用缩进将for循环的主体与其他代码分开。

Diagrama de fluxo do loop for

Diagrama de fluxo de loop for Python

Exemplo: loop for Python

# O programa encontra a soma de todos os números armazenados na lista
# Lista de números
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# Variável usada para armazenar a soma
sum = 0
# Percorrer a lista
for val in numbers:
    sum = sum+val
print("A soma é", sum)

Quando você executar o programa, a saída será:

A soma é 48

A função range()

Podemos gerar sequências de números usando a função range(). range(10) produzirão de 0 até9Os números entre10número(s).

Também podemos definir o início, o fim e o passo como range(start, stop, step_size). Se não for fornecido, o step_size é o padrão de1.

O objeto range é, em certo sentido, 'perezoso', pois não gera todos os números 'contidos' ao criá-lo. Mas não é um iterador; ele suporta operações in, len e getitem.

Essa função não armazena todos os valores na memória; isso seria ineficiente. Portanto, ela lembrará o início, o fim e o passo, e gerará o próximo número durante a execução.

Para forçar a saída de todos os itens dessa função, você pode usar a função list().

Este exemplo demonstrará isso.

print(range(10))
print(list(range(10))
print(list(range(2, 8))
print(list(range(2, 20, 3))

Resultados de saída

range(0, 10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7]
[2, 5, 8, 11, 14, 17]

Podemos usar a função range() no loop for para iterar sobre sequências de números. Ela pode ser usada com a função len() para navegar por sequências. Este é um exemplo.

# Programas para navegação por índice em lista
genre = ['pop', 'rock', 'jazz']
# Navegação por índice em lista
for i in range(len(genre)):
    print("Eu gosto", genre[i])

Quando o programa for executado, a saída será:

Eu gosto de pop
Eu gosto de rock
Eu gosto de jazz

Loop com else

O loop for também pode ter um bloco else opcional.

Se o item da sequência usada no loop for acabar, o bloco else será executado.

A palavra-chave break pode ser usada para parar o loop for. Neste caso, o bloco else será ignorado.

Portanto, se não houver interrupção, o bloco else do loop for será executado.

Este é um exemplo para ilustrar isso.

digits = [0, 1, 5]
for i in digits:
    print(i)
else:
    print("Nenhum item restante.")

Quando o programa for executado, a saída será:

0
1
5
"Nenhum item restante."

Aqui, o loop for imprimirá os itens da lista até que o loop acabe. Quando o loop acabar, ele executará o bloco de código else e imprimirá ""Nenhum item restante."

A instrução for...else pode ser usada com a palavra-chave break para executar o bloco else apenas se o break não for executado. Vamos dar um exemplo:

# Programas para exibir as notas dos alunos
student_name = 'Soyuj'
marks = {'James': 90, 'Jules': 55, 'Arthur': 77}
for student in marks:
    if student == student_name:
        print(marks[student])
        break
else:
    print('Nenhuma entrada encontrada com esse nome.')

Resultados de saída

Nenhuma entrada encontrada com esse nome.