iniciante⏱30 minutosLição 6 de 10
Laços (for e while)
Domine iteração em Python com laços for, while, range(), break, continue e laços aninhados
Laços (for e while)
Laços permitem repetir código várias vezes — essencial para processar dados, automatizar tarefas e construir programas eficientes.
O Laço for
Itere sobre uma sequência (lista, string, range, etc.):
python
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)Percorrendo uma String
python
for char in "Python":
print(char)
# Saída: P, y, t, h, o, nUsando range()
range(início, fim, passo) gera uma sequência de números:
python
# 0 a 4
for i in range(5):
print(i)
# 2 a 8 (passo 2)
for i in range(2, 9, 2):
print(i)
# Contagem regressiva
for i in range(10, 0, -1):
print(i)
print("Blast off!")O Laço while
Executa enquanto uma condição for True:
python
count = 0
while count < 5:
print(count)
count += 1Validação de Entrada
python
password = ""
while password != "secret":
password = input("Enter password: ")
print("Access granted!")Warning
Sempre garanta que a condição do laço while eventualmente se torne False — caso contrário você cria um loop infinito!
break e continue
break — Sai do laço completamente
python
for i in range(100):
if i == 5:
break
print(i)
# Imprime: 0 1 2 3 4continue — Pula para a próxima iteração
python
for i in range(10):
if i % 2 == 0:
continue
print(i)
# Imprime: 1 3 5 7 9Laços Aninhados
Laços dentro de laços:
python
for i in range(3):
for j in range(3):
print(f"({i}, {j})", end=" ")
print()
# Saída:
# (0, 0) (0, 1) (0, 2)
# (1, 0) (1, 1) (1, 2)
# (2, 0) (2, 1) (2, 2)A Cláusula else em Laços
Executa quando o laço completa normalmente (sem break):
python
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(f"{n} = {x} * {n//x}")
break
else:
print(f"{n} is prime")enumerate — Laço com Índice
python
colors = ["red", "green", "blue"]
for index, color in enumerate(colors):
print(f"{index}: {color}")
# 0: red, 1: green, 2: bluezip — Percorrer Múltiplas Listas Juntas
python
names = ["Alice", "Bob", "Charlie"]
scores = [85, 92, 78]
for name, score in zip(names, scores):
print(f"{name}: {score}")Success
Perguntas de Prática
- Escreva um laço for que imprime números de 1 a 10.
- O que
range(5)gera? - Escreva um laço while que soma números de 1 a 100.
- Qual a diferença entre
breakecontinue? - Escreva laços aninhados para imprimir uma tabuada 3×3.
- Como percorrer uma lista com índice e valor?
- O que acontece se uma condição de laço while for sempre True?
- Escreva um laço for com uma cláusula else.
- Como percorrer duas listas simultaneamente?
- Escreva um programa que imprime todos os números pares de 1 a 20 usando continue.
Progresso60%