Programador Leigo
Fundamentos 7 min leitura 26 FEV 2026

Python do Zero: condicionais com if, elif e else

Aprenda a fazer seu programa tomar decisões com estruturas condicionais.


O que são condicionais?

Quando você escreve um programa, nem sempre quer que todas as linhas sejam executadas na mesma ordem. Às vezes, o programa precisa tomar decisões: se uma condição for verdadeira, ele faz uma coisa; se for falsa, faz outra. É exatamente isso que as estruturas condicionais permitem.

Pense em situações do dia a dia: "Se estiver chovendo, levo guarda-chuva. Senão, saio sem ele." Em Python, essa lógica é representada com if, elif e else.

if simples

A forma mais básica de condicional é o if. Ele executa um bloco de código apenas se a condição for verdadeira (True):

idade = 18

if idade >= 18:
    print("Voce e maior de idade.")

Pontos importantes: - A condição vem logo após o if e termina com dois-pontos : - O bloco de código que pertence ao if precisa estar indentado (geralmente 4 espaços) - Se a condição for False, o bloco é simplesmente ignorado

if/else

Na maioria das vezes, você quer executar algo quando a condição é verdadeira e algo diferente quando ela é falsa. Para isso, usamos o else:

temperatura = 15

if temperatura >= 25:
    print("Esta quente, vista algo leve.")
else:
    print("Esta frio, leve um casaco.")

O else não recebe nenhuma condição — ele cobre todos os casos que o if não cobriu.

if/elif/else com múltiplas condições

Quando existem mais de duas possibilidades, o elif (abreviação de "else if") permite testar condições adicionais:

nota = float(input("Digite sua nota: "))

if nota >= 9:
    conceito = "A"
elif nota >= 7:
    conceito = "B"
elif nota >= 5:
    conceito = "C"
elif nota >= 3:
    conceito = "D"
else:
    conceito = "F"

print(f"Seu conceito e: {conceito}")

O Python avalia as condições de cima para baixo. Assim que encontra uma verdadeira, executa aquele bloco e pula todo o resto. Se nenhuma condição for verdadeira, o bloco do else é executado.

Operadores de comparação

Antes de avançar, vale relembrar os operadores que usamos dentro das condições:

# Comparacao
print(10 == 10)   # True  - igual a
print(10 != 5)    # True  - diferente de
print(10 > 5)     # True  - maior que
print(10 < 20)    # True  - menor que
print(10 >= 10)   # True  - maior ou igual a
print(10 <= 3)    # False - menor ou igual a

Operadores lógicos: and, or e not

Os operadores lógicos permitem combinar várias condições em uma única expressão:

idade = 20
tem_carteira = True

# and - ambas as condicoes precisam ser verdadeiras
if idade >= 18 and tem_carteira:
    print("Pode dirigir.")

# or - pelo menos uma condicao precisa ser verdadeira
tem_passe = False
e_estudante = True

if tem_passe or e_estudante:
    print("Tem direito ao desconto.")

# not - inverte o valor logico
logado = False

if not logado:
    print("Faca login para continuar.")

Você pode combinar quantos operadores quiser, mas cuidado para não deixar a expressão confusa. Use parênteses para deixar a intenção clara:

idade = 25
renda = 3000
tem_fiador = True

if (idade >= 21 and renda >= 2500) or tem_fiador:
    print("Credito aprovado.")
else:
    print("Credito negado.")

Condicionais aninhadas

Às vezes, é necessário colocar um if dentro de outro if. Isso é chamado de condicional aninhada:

tem_conta = True
saldo = 150.0
valor_saque = 200.0

if tem_conta:
    if saldo >= valor_saque:
        print(f"Saque de R${valor_saque:.2f} realizado com sucesso.")
    else:
        print("Saldo insuficiente.")
else:
    print("Voce nao possui conta.")

Condicionais aninhadas funcionam bem, mas evite aninhar muitos níveis. Quando a lógica fica complexa demais, considere usar elif ou reorganizar o código.

Operador ternário

Python permite escrever condicionais simples em uma única linha usando o operador ternário:

idade = 20
status = "maior de idade" if idade >= 18 else "menor de idade"
print(status)  # maior de idade

A estrutura é: valor_se_verdadeiro if condicao else valor_se_falso. Use o ternário apenas quando a expressão for curta e fácil de entender:

numero = 7
tipo = "par" if numero % 2 == 0 else "impar"
print(f"O numero {numero} e {tipo}.")  # O numero 7 e impar.

Exemplo prático: calculadora simples

Vamos juntar tudo o que aprendemos em um exemplo mais completo — uma calculadora que recebe dois números e uma operação do usuário:

print("=== Calculadora ===")
n1 = float(input("Primeiro numero: "))
n2 = float(input("Segundo numero: "))
op = input("Operacao (+, -, *, /): ")

if op == "+":
    resultado = n1 + n2
elif op == "-":
    resultado = n1 - n2
elif op == "*":
    resultado = n1 * n2
elif op == "/":
    if n2 != 0:
        resultado = n1 / n2
    else:
        resultado = None
        print("Erro: divisao por zero nao e permitida.")
else:
    resultado = None
    print(f"Operacao '{op}' nao reconhecida.")

if resultado is not None:
    print(f"{n1} {op} {n2} = {resultado}")

Repare como usamos uma condicional aninhada para verificar a divisão por zero e o operador is not para checar se o resultado existe antes de exibi-lo.

Conclusão

As estruturas condicionais são fundamentais em qualquer programa. Com if, elif e else, seu código ganha a capacidade de tomar decisões e reagir de forma diferente conforme os dados que recebe. Combine isso com operadores de comparação e lógicos, e você terá controle total sobre o fluxo do seu programa. O próximo passo é aprender laços de repetição com for e while para executar blocos de código múltiplas vezes.

Continue lendo

Compartilhar