Estruturas de Controle
Aula 2 de 10
Condicionais
# if / elif / else
nota = 85
if nota >= 90:
print("Excelente!")
elif nota >= 70:
print("Bom")
elif nota >= 50:
print("Regular")
else:
print("Precisa melhorar")
# Ternário
idade = 20
status = "Maior" if idade >= 18 else "Menor"
Loops
# for — iterar sobre sequência
for i in range(5): # 0, 1, 2, 3, 4
print(i)
for i in range(1, 10, 2): # 1, 3, 5, 7, 9
print(i)
for letra in "Python":
print(letra)
# while
contador = 0
while contador < 5:
print(contador)
contador += 1
# break e continue
for i in range(10):
if i == 3:
continue # pula o 3
if i == 7:
break # para no 7
print(i)
# else em loops (executa se não houve break)
for i in range(5):
if i == 10:
break
else:
print("Loop completou sem break") # vai executar
Compreensão de Listas
# [expressão for item in iterável if condição]
numeros = [1, 2, 3, 4, 5]
dobros = [n * 2 for n in numeros] # [2, 4, 6, 8, 10]
pares = [n for n in numeros if n % 2 == 0] # [2, 4]
quadrados = {n: n**2 for n in range(5)} # dict comprehension
Match Statement (Python 3.10+)
comando = "start"
match comando:
case "start":
print("Iniciando...")
case "stop":
print("Parando...")
case _:
print("Comando desconhecido")
# Pattern matching avançado
def processar(dados):
match dados:
case {"tipo": "usuário", "nome": nome}:
print(f"Usuário: {nome}")
case ["erro", mensagem]:
print(f"Erro: {mensagem}")
case _:
print("Formato não reconhecido")
Compreensão de listas não é só syntatic sugar — é mais rápida que loops explícitos. Mas evite aninhar mais de duas.