Submódulo 2: Estruturas de repetição: loops for e while
Loops com coleções: percorrendo listas e strings
🔄 Loops com coleções: listas, strings e controle de fluxo
Agora que já entendemos o básico, vamos aplicar o for a coleções comuns. Uma lista de nomes, uma string ou até um conjunto de chaves em um dicionário podem ser percorridos com for. O que muda é o que cada item representa e quais condições você impõe durante a iteração.

Quando você precisa interromper a execução antes do fim da sequência, usa-se break. Se quiser pular itens que não atendem a uma condição, continue é a ferramenta adequada. Além disso, é possível usar else após o loop para detectar se o laço foi concluído sem interrupção pelo break.
Exemplos simples ajudam a consolidar: percorrer uma lista de nomes e imprimir apenas os que contêm a letra 'a'; percorrer uma string e imprimir cada caractere; detectar a primeira ocorrência de um item que satisfaça uma condição e parar o loop com break. Também veremos como o for pode iterar sobre dicionários, retornando as chaves por padrão.
nomes = ['Ana', 'Bruno', 'Carla', 'Diego']
for n in nomes:
if 'a' in n.lower():
print(n)
# Iterando sobre uma string
texto = 'Python'
for c in texto:
print(c)
frutas = ['maçã', 'banana', 'uva']
for f in frutas:
if f == 'banana':
print(' banana encontrada!')
break
print(f)