PROGRAMA DE CURSO ASSUNTO 02 · Entrada, Saída & Condicionais
← Início

Entrada, Saída & Condicionais

Como o programa conversa com o usuário — ler dados com input(), mostrar com print() e f-strings — e como tomar decisões com if, elif e else.

Assunto 02 Python 3.x input · print if · elif · else
1

Saída de dados: print() 🖨️

Um programa precisa se comunicar com quem o usa. A função print() é a forma mais direta de mostrar informação na tela — mensagens, resultados de cálculos, o valor de uma variável.

print("Olá, mundo!")

# Mostrando o valor de uma variável
nome = "Ana"
print(nome)

# Vários valores separados por vírgula (insere um espaço entre eles)
print("Nome:", nome)
Texto vs. variável Entre aspas, é um texto literal ("nome" mostra a palavra nome). Sem aspas, é uma variável (nome mostra o valor guardado nela).
2

Entrada de dados: input() ⌨️

Para o programa receber dados de quem o usa, usamos a função input(). Ela pausa o programa, espera a pessoa digitar algo e apertar Enter, e devolve o que foi digitado.

nome = input("Digite o seu nome: ")
print("Bem-vindo,", nome)
⚠️ input() sempre devolve texto (str) Mesmo que a pessoa digite 25, o Python guarda como o texto "25" — e não dá para fazer contas com texto. Para trabalhar com números, é preciso converter.

Convertemos o texto com int() (número inteiro) ou float() (número com casas decimais):

# Convertendo a entrada para número inteiro
idade = int(input("Digite a sua idade: "))

# Convertendo para número com casas decimais
altura = float(input("Digite a sua altura (m): "))

print("Ano que vem você terá", idade + 1, "anos.")
3

Operadores

Com dados na mão, precisamos operar sobre eles: fazer contas, comparar valores e combinar condições. São três famílias de operadores.

Aritméticos

a = 10
b = 5
print(a + b)   # Adição          -> 15
print(a - b)   # Subtração       -> 5
print(a * b)   # Multiplicação   -> 50
print(a / b)   # Divisão         -> 2.0

print(10 // 3)  # Divisão inteira -> 3
print(10 % 3)   # Resto (módulo)  -> 1
print(2 ** 3)   # Potência        -> 8
Ordem das operações Segue a matemática: parênteses, potência, multiplicação/divisão e por fim adição/subtração. 2 + 3 * 4 ** 2 → 50; já (2 + 3) * 4 → 20.

Comparação (resultam em True ou False)

x = 10
y = 20
print(x == y)  # Igual a        -> False
print(x != y)  # Diferente de   -> True
print(x < y)   # Menor que      -> True
print(x >= y)  # Maior ou igual -> False

Lógicos: and, or, not

a = True
b = False
print(a and b)  # E: só True se ambos forem True  -> False
print(a or b)   # OU: True se ao menos um for True -> True
print(not a)    # NÃO: inverte                     -> False
4

f-strings — formatando a saída

Introduzidas no Python 3.6, as f-strings (formatted string literals) são a forma mais legível de montar mensagens com valores dentro. Basta colocar um f antes das aspas e escrever as expressões entre chaves {}.

nome = "Ana"
idade = 25

mensagem = f"Meu nome é {nome} e tenho {idade} anos."
print(mensagem)
# Saída: Meu nome é Ana e tenho 25 anos.

Dentro das chaves cabe qualquer expressão Python: contas, chamadas de função e métodos.

a = 5
b = 3
print(f"A soma de {a} e {b} é {a + b}.")  # A soma de 5 e 3 é 8.

nome = "python"
print(f"{nome.upper()} é incrível!")     # PYTHON é incrível!

Também dá para formatar números: :.2f limita as casas decimais e :, adiciona separador de milhares.

pi = 3.14159
print(f"Pi com 2 casas: {pi:.2f}")         # Pi com 2 casas: 3.14

grande = 1000000
print(f"Número formatado: {grande:,}")     # 1,000,000
Junte tudo: entrada + f-string nome = input("Nome: ") e depois print(f"Olá, {nome}!") — você lê o dado e devolve uma mensagem personalizada. É a base de quase todo programa interativo.
5

Condicionais: if, elif, else

Estruturas condicionais permitem que o programa tome decisões — executar um bloco ou outro dependendo de uma condição, que é sempre avaliada como True ou False.

if — "se a condição for verdadeira"

idade = 18

if idade >= 18:
    print("Você é maior de idade.")
⚠️ Os dois pilares da sintaxe A linha do if termina com dois-pontos : e o bloco que depende dela fica indentado (recuado, geralmente 4 espaços). A indentação é o que diz ao Python "isto está dentro do if".

else — "senão, faça outra coisa"

idade = 16

if idade >= 18:
    print("Você é maior de idade.")
else:
    print("Você é menor de idade.")

elif — "senão, se..." (várias condições)

O elif (abreviação de else if) testa uma nova condição, e só é avaliado se as anteriores forem falsas.

nota = 85

if nota >= 90:
    print("Aprovado com nota excelente!")
elif nota >= 70:
    print("Aprovado.")
else:
    print("Reprovado.")
6

Condições compostas e aninhadas

Combinando os operadores lógicos com as condicionais, dá para expressar regras mais ricas.

Condição composta (and / or)

idade = 25
salario = 3000

# idade entre 18 e 30 E salário maior que 2000
if 18 <= idade <= 30 and salario > 2000:
    print("Condição atendida.")
else:
    print("Condição não atendida.")

Condição aninhada (um if dentro de outro)

idade = 20
habilitacao = True

if idade >= 18:
    if habilitacao:
        print("Você pode dirigir.")
    else:
        print("Você precisa de habilitação.")
else:
    print("Você não tem idade suficiente.")
❌ Erro comum: = vs == Um sinal de igual (=) guarda um valor numa variável. Dois (==) perguntam se dois valores são iguais. Dentro de um if, quase sempre você quer == — usar = dá SyntaxError.
★

Resumo

print()

Saída

Mostra informação na tela. Vários valores separados por vírgula.

input()

Entrada

Lê o que a pessoa digita — sempre texto. Converta com int() ou float().

f"{ }"

f-string

Monta mensagens com valores e expressões. Formata com :.2f e :,.

if · elif · else

Decidir

Executa blocos conforme condições True/False. Dois-pontos e indentação.

Desafio para casa Escreva um programa que peça o nome e a nota de um aluno (input), converta a nota para número, e use if / elif / else para imprimir com uma f-string: "Aprovado" (nota ≥ 7), "Recuperação" (entre 5 e 7) ou "Reprovado" (menor que 5) — sempre incluindo o nome do aluno.
🍕

Exercícios — Pizzaria do Tio Will

Pratique entrada de dados e estruturas de decisão ajudando a Pizzaria do Tio Will. Em todos os exercícios, leia os dados com input() e use if / elif / else.

💡 Dica sobre input() O input() sempre devolve texto (string). Para fazer contas (distância, valor do pedido), converta para número: distancia = float(input("Distância em km: ")). Já o dia da semana continua como texto — compare com ==.
01

Frete por distância

entrada + if / elif / else
🟢 Fácil

A Pizzaria do Tio Will cobra o frete de acordo com a distância entre a pizzaria e a casa do cliente. Sua tarefa é descobrir quanto custa a entrega para cada cliente.

Regras de frete
DistânciaFrete
Até 5 kmR$ 5,00 ✅
6 km a 10 kmR$ 10,00 ✅
Acima de 10 kmNão entrega ❌
O que o programa deve fazer
  • Ler a distância em km com input() e convertê-la para float
  • Usar if / elif / else para decidir a faixa de frete
  • Imprimir o valor do frete — ou avisar que não há entrega naquela distância
Como ler a entrada
leitura da distância python
# input() sempre devolve texto → converta para número
distancia = float(input("Digite a distância em km: "))
Saída esperada
saída no terminal
Digite a distância em km: 3
Frete: R$ 5,00

Digite a distância em km: 8
Frete: R$ 10,00

Digite a distância em km: 12
Não entregamos nessa distância. 😕
ℹ️
Lembre-seO input() sempre devolve texto. Para comparar a distância com números, é preciso convertê-la com float() antes do if.
💡
DicaCompare do menor para o maior: teste distancia <= 5, depois distancia <= 10 no elif, e deixe o else para "não entrega".
Gabarito
solução — exercício 01 python
distancia = float(input("Digite a distância em km: "))

if distancia <= 5:
    print("Frete: R$ 5,00")
elif distancia <= 10:
    print("Frete: R$ 10,00")
else:
    print("Não entregamos nessa distância. 😕")
02

Frete com taxa fixa + valor por km

condicionais + cálculo
🟡 Intermediário

Agora a pizzaria cobra uma taxa fixa de R$ 5,00 por entrega, somada a um valor por quilômetro que depende da faixa de distância.

Valor por km da faixa
DistânciaValor por km
Até 5 kmR$ 1,00 / km
6 km a 10 kmR$ 2,00 / km
Acima de 10 kmNão entrega ❌
🧮 Fórmula frete = 5,00 + (distância × valor por km da faixa)
O que o programa deve fazer
  • Ler a distância com input() e convertê-la para float
  • Descobrir o valor por km da faixa com if / elif / else
  • Calcular frete = 5 + distancia * valor_km e imprimir o total
Como ler a entrada
leitura da distância python
distancia = float(input("Digite a distância em km: "))
taxa_fixa = 5.00  # cobrada em toda entrega
Saída esperada
Joana (8 km) · Guilherme (3 km) · Rafael (11 km)
Digite a distância em km: 8
Frete: R$ 21,00

Digite a distância em km: 3
Frete: R$ 8,00

Digite a distância em km: 11
Não entregamos nessa distância. 😕
ℹ️
Lembre-sePara exibir o valor com duas casas e vírgula, use f"R$ {frete:.2f}" e depois .replace(".", ",").
💡
DicaDescubra primeiro o valor_km da faixa; só depois calcule o frete. Assim você escreve a fórmula uma única vez.
Gabarito
solução — exercício 02 python
distancia = float(input("Digite a distância em km: "))
taxa_fixa = 5.00

if distancia <= 5:
    valor_km = 1.00
elif distancia <= 10:
    valor_km = 2.00
else:
    valor_km = None

if valor_km is None:
    print("Não entregamos nessa distância. 😕")
else:
    frete = taxa_fixa + distancia * valor_km
    print(f"Frete: R$ {frete:.2f}".replace(".", ","))
03

Promoção por dia da semana — Pizzaria Sabores

valor final do pedido · condições compostas · taxa de entrega
🔴 Avançado

A Pizzaria Sabores agora tem promoções especiais que dependem do dia da semana para atrair mais clientes. Sua tarefa é criar um programa que calcula o valor final de um pedido, aplicando o desconto ou benefício específico caso a compra seja feita em um dia de promoção. Sobre o pedido soma-se uma taxa de entrega fixa de R$ 5,00, exceto quando a promoção der frete grátis.

Regras das promoções
DiaPromoção
Terça-feiraPedidos acima de R$ 40,00 recebem uma sobremesa grátis 🍰 (exiba uma mensagem)
Quarta-feiraTodas as pizzas têm 15% de desconto
Sábado e domingoPedidos acima de R$ 100,00 têm a taxa de entrega grátis 🚚 (a taxa fixa de R$ 5,00 não é cobrada)
Demais diasNão há promoção
O que o programa deve fazer
  • Ler o dia da semana (texto) e o valor do pedido com input()
  • Usar condições compostas com and / or — atenção aos parênteses
  • Aplicar a promoção do dia (sobremesa grátis, 15% de desconto ou frete grátis)
  • Somar a taxa de entrega de R$ 5,00 ao valor, exceto quando o pedido tiver frete grátis
  • Exibir o valor final do pedido
Para testar
  • Mariana: comprou R$ 80,00 na terça-feira.
  • Guilherme: comprou uma pizza de R$ 50,00 na quarta-feira.
  • Rafael: comprou R$ 120,00 no domingo e mora a 4 km.
Como ler a entrada
leitura dos dados python
# .lower() deixa tudo minúsculo → facilita a comparação
dia = input("Dia da semana: ").lower()
valor = float(input("Valor do pedido: R$ "))
Saída esperada
Mariana (terça · R$ 80) · Guilherme (quarta · R$ 50) · Rafael (domingo · R$ 120 · 4 km)
Dia da semana: terça
Valor do pedido: R$ 80
🍰 Você ganhou uma sobremesa grátis!
Total a pagar: R$ 85,00

Dia da semana: quarta
Valor do pedido: R$ 50
Desconto de 15% aplicado!
Total a pagar: R$ 47,50

Dia da semana: domingo
Valor do pedido: R$ 120
🚚 Frete grátis!
Total a pagar: R$ 120,00
ℹ️
Lembre-seTextos são comparados com ==. Use .lower() ao ler o dia para que "Terça", "TERÇA" e "terça" funcionem igual.
💡
DicaPara o fim de semana, combine as condições: (dia == "sábado" or dia == "domingo") and valor > 100. Os parênteses garantem a ordem correta da avaliação.
🚀 Desafio extra (refatoração) Pegue o código atual e junte com o do Exercício 2 (frete por distância) e refatore para que a taxa de entrega seja calculada pela distância e somada ao valor final do pedido, quando houver taxa. Ex.: o Rafael comprou R$ 120,00 no domingo e mora a 4 km.