Controle de Fluxo em Python

if condicao:
    # código executado se condicao for True
    comando1
    comando2
# código fora do if, executado sempre
comando_fora

if...else

if condicao:
    # código caso True
    ...
else:
    # código caso False
    ...
# código após a condição

Múltiplas condições: if...elif...else

if condicao1:
    ...
elif condicao2:
    ...
elif condicao3:
    ...
else:
    ... # nenhuma condição satisfeita

Exemplo prático

nota = 85
if nota >= 90:
    print("Excelente")
elif nota >= 80:
    print("Bom")
elif nota >= 70:
    print("Regular")
elif 60 <= nota < 70:  # sintaxe encadeada
    print("Suficiente")
else:
    print("Reprovado")
print("Fim da avaliação")

If eninhado

if condicao_externa:
    ...
    if condicao_interna:
        ...
    else:
        ...
else:
    ...

Exemplo

pontos = 95
if pontos >= 90:
    print("Muito bom")
    if pontos >= 95:
        print("Destaque")
        if pontos == 100:
            print("Nota máxima")
else:
    print("Abaixo de 90")

Números aleatórios – módulo random

Importação e uso:

import random
num_aleatorio = random.randint(1, 10)  # inteiro entre 1 e 10 inclusive
print(f"Sorteado: {num_aleatorio}")

Laço while

while condicao:
    # bloco repetido enquanto condicao for True
    ...

Exemplos

# Contagem
cont = 0
while cont < 5:
    cont += 1
    print(f"Iteração {cont}")

# Soma de 1 a 100
soma = 0
i = 1
while i <= 100:
    soma += i
    i += 1
print(f"Soma: {soma}")

# Pares de 1 a 100
soma_pares = 0
i = 2
while i <= 100:
    soma_pares += i
    i += 2
print(f"Soma dos pares: {soma_pares}")

# Ímpares (usando condicional)
soma_impares = 0
i = 1
while i <= 100:
    if i % 2 != 0:
        soma_impares += i
    i += 1
print(f"Soma dos ímpares: {soma_impares}")

# Break e continue
x = 0
while True:
    x += 1
    if x == 3:
        continue   # pula o print do 3
    print(x, end=" ")
    if x == 7:
        break      # encerra o laço
print(f"\nFim do while, x={x}")

# Retângulo de asteriscos
linhas = 0
while linhas < 4:
    colunas = 0
    while colunas < 6:
        print("*", end=" ")
        colunas += 1
    print()
    linhas += 1

# Triângulo
linhas = 0
while linhas < 5:
    colunas = 0
    while colunas <= linhas:
        print("*", end=" ")
        colunas += 1
    print()
    linhas += 1

# Tabuada de multiplicação (9x9)
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j}*{i}={i*j}", end="\t")
        j += 1
    print()
    i += 1

Laço for

Percorrre sequências (string, lista, etc.)

for variavel in sequencia:
    # bloco repetido para cada elemento
    ...

Exemplos

texto = "Python"
for letra in texto:
    print(letra, end=" ")

numeros = [10, 20, 30, 40, 50]
for valor in numeros:
    print(valor, end=" ")

# Break e continue
for caractere in "programacao":
    if caractere == 'g':
        break
    print(caractere, end=" ")
print(f"\nÚltimo caractere lido: {caractere}")

Laços com else

O bloco else é executado apenas se o laço terminar normalmente (sem break).

while...else

while condicao:
    ...
else:
    # executado quando a condição se torna False
    ...

for...else

for var in sequencia:
    ...
else:
    # executado após percorrer toda a sequência sem break
    ...

Exemplos

# while com else e break/continue
usar_break = False   # simula se ocorre break
usar_continue = True # simula continue
cont = 0
while cont <= 10:
    cont += 1
    if usar_break and cont == 4:
        print("Break acionado, else não executado")
        break
    if usar_continue and cont == 7:
        print("Continue executado, else será executado")
        continue
    print(f"Contador: {cont}")
else:
    print("Laço while finalizado normalmente")

# for com else
palavra = "exemplo"
quebrar = False   # se True, break será executado
for letra in palavra:
    print(letra, end=" ")
    if quebrar and letra == 'm':
        print("\nBreak acionado, else ignorado")
        break
else:
    print("\nFor finalizado sem break")

Tags: Python fluxo de controle if-else while for

Publicado em 6-23 07:00