Estruturas de Controle de Fluxo em Python

  1. Estrutura Condicional if

A estrutura if avalia uma expressão e executa um bloco de código com base no valor booleano retornado.

Formas Básicas


# Estrutura simples: executa se a condição for verdadeira
if condicao:
    bloco_de_codigo

# Estrutura com else: alternativa quando a condição é falsa
if condicao:
    bloco_se_verdadeiro
else:
    bloco_se_falso

# Estrutura com elif: múltiplas condições
if condicao1:
    bloco1
elif condicao2:
    bloco2
else:
    bloco_padrao

# Estruturas aninhadas
if condicao_principal:
    if condicao_secundaria:
        bloco_interno
    elif condicao_alternativa:
        bloco_alternativo
    else:
        bloco_interno_padrao

Operadores Lógicos

Os operadores and, or e not permitem combinar ou inverter condições:

  • and: retorna verdadeiro apenas se ambas as expressões forem verdadeiras.
  • or: retorna verdadeiro se pelo menos uma expressão for verdadeira.
  • not: inverte o valor booleano da expressão.

Exemplos Práticos


# Verificação de paridade
numero = 73
if numero % 2 == 0:
    print(f"{numero} é par")
else:
    print(f"{numero} é ímpar")

# Verificação de string vazia
texto = input("Insira um texto: ")
if not texto:
    print("O texto está vazio")
else:
    print("O texto não está vazio")

# Classificação de nota com validação
pontuacao = int(input("Insira a pontuação (0-100): "))
if pontuacao < 0 or pontuacao > 100:
    print("Valor inválido")
elif pontuacao <= 60:
    print("Classificação: C")
elif pontuacao <= 90:
    print("Classificação: B")
else:
    print("Classificação: A")
  1. Laço de Repetição for

O laço for itera sobre elementos de uma sequência ou objeto iterável.

Sintaxe Geral


for variavel in iteravel:
    bloco_de_codigo

Exemplos


# Soma de números de 1 a 10
acumulador = 0
for valor in range(1, 11):
    acumulador += valor
print(f"Soma total: {acumulador}")

# Iteração sobre caracteres
sequencia = "abcd"
for caractere in sequencia:
    print(caractere)
  1. Laço de Repetição while

O laço while repete um bloco de código enquanto uma condição permanecer verdadeira.

Sintaxe


while condicao:
    bloco_de_codigo

Exemplos


# Soma de 1 a 100
soma_total = 0
contador = 1
while contador <= 100:
    soma_total += contador
    contador += 1
print(f"Resultado: {soma_total}")

# Sistema de login com tentativas limitadas
tentativas_restantes = 3
login_sucesso = False
while tentativas_restantes > 0 and not login_sucesso:
    usuario = input("Utilizador: ")
    senha = input("Senha: ")
    if usuario == "admin" and senha == "secreta":
        print("Acesso autorizado")
        login_sucesso = True
    else:
        tentativas_restantes -= 1
        if tentativas_restantes > 0:
            print(f"Credenciais inválidas. Tentativas restantes: {tentativas_restantes}")
if not login_sucesso:
    print("Número máximo de tentativas alcançado. Bloqueando acesso.")
  1. Instruções de Dessvio

break

Interrompe imediatamente a execução do laço atual.


for elemento in range(1, 6):
    if elemento == 4:
        break
    print(elemento)
# Saída: 1, 2, 3

continue

Ignora a iteração atual e prossegue para a próxima iteração do laço.


for numero in range(1, 6):
    if numero == 3:
        continue
    print(numero)
# Saída: 1, 2, 4, 5

pass

Instrução nula usada como marcador de posição em blocos de código vazios.


for i in range(3):
    pass  # Implementação futura

Exercícios Práticos


# Gerar a tabuada de multiplicação de 1 a 9
for multiplicador in range(1, 10):
    for multiplicando in range(1, 10):
        resultado = multiplicador * multiplicando
        print(f"{multiplicador} x {multiplicando} = {resultado:2d}", end="  ")
    print()

# Jogo de adivinhação com limite de tentativas
import random
numero_secreto = random.randint(1, 100)
max_tentativas = 10
for tentativa in range(1, max_tentativas + 1):
    palpite = int(input(f"Tentativa {tentativa}: "))
    if palpite == numero_secreto:
        print("Parabéns! Acertou!")
        break
    elif palpite < numero_secreto:
        print("O número é maior.")
    else:
        print("O número é menor.")
else:
    print(f"Não acertou. O número era {numero_secreto}.")

Tags: Python if-else break continue operadores_lógicos

Publicado em 6-16 23:28