Saída e f-strings
Objetivo da aula
Produzir saídas legíveis combinando texto e valores.
Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.
Começando do zero
Programas precisam comunicar resultados. print() envia valores para a saída padrão do terminal. Quando queremos montar uma frase com variáveis, as f-strings permitem escrever o texto e inserir expressões dentro de chaves, deixando a mensagem mais legível.
Uma imagem mental para entender
Pense em um formulário de mensagem com espaços: “Olá, ___! Seu saldo é ___.” Uma f-string funciona como esse molde. O texto fica fixo e os valores são colocados nas posições marcadas por {...}.
Conceitos essenciais, sem pular etapas
print()
Pode receber vários argumentos separados por vírgula. Por padrão, eles são separados por espaço e a chamada termina com quebra de linha.
f-string
Começa com prefixo f antes das aspas. Dentro de {} você coloca uma variável ou expressão válida.
Formatação numérica
Uma expressão como {preco:.2f} pede exibição com duas casas decimais. Isso controla apresentação; não transforma o valor em uma moeda com regras financeiras.
Mensagem é parte da interface
Uma saída como “42” pode estar correta matematicamente e ainda ser ruim para o usuário. “Total de itens: 42” comunica contexto.
Modelo mental
VALORES DO PROGRAMA → FORMATAÇÃO → MENSAGEM → SAÍDA COM CONTEXTO
Exemplo 1 — primeiro veja o programa inteiro
nome = "Rafa"
pontos = 87
media = 8.456
print("Nome:", nome)
print(f"{nome} tem {pontos} pontos.")
print(f"Média exibida: {media:.2f}")
Agora vamos ler linha por linha
- A primeira chamada passa dois valores para
print(). - A segunda usa uma f-string e insere
nomeepontosno texto. {media:.2f}formata a exibição com duas casas decimais.- O valor de
mediacontinua numérico na variável; a formatação afeta a representação textual mostrada.
Saída esperada
Nome: Rafa
Rafa tem 87 pontos.
Média exibida: 8.46
Exemplo 2 — o mesmo conceito em outra situação
quantidade = 3
preco = 12.5
total = quantidade * preco
print(f"{quantidade} itens x R$ {preco:.2f} = R$ {total:.2f}")
O cálculo fica separado da apresentação. Primeiro produzimos total; depois escolhemos como descrevê-lo ao usuário.
Experimento guiado
Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.
- Mostre uma mesma variável usando
print("valor:", valor)e f-string. - Teste formatação com
.1f,.2fe.3f. - Crie uma mensagem que mostre nome, quantidade e total de forma compreensível.
- Troque os valores sem alterar a estrutura da mensagem.
Mini desafio
Crie uma mensagem de resumo para uma viagem com cidade, número de dias e custo total, exibindo o custo com duas casas decimais.
Solução comentada
cidade = "Curitiba"
dias = 3
custo_total = 740.5
print(f"Viagem para {cidade}: {dias} dias, custo estimado R$ {custo_total:.2f}.")
Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.
Erros comuns e por que acontecem
- Esquecer o
fantes da string e ver{nome}aparecer literalmente. - Colocar tudo em uma única linha gigante e tornar a mensagem difícil de manter.
- Confundir formatação de exibição com arredondamento ou precisão do cálculo interno.
Cheque se você realmente entendeu
O que diferencia uma f-string?
Resposta: O prefixo f e a possibilidade de avaliar expressões entre {}.
O que :.2f faz em uma f-string?
Resposta: Formata a representação numérica com duas casas decimais.
Por que escrever “Total: 42” é melhor que apenas “42”?
Resposta: Porque a mensagem fornece contexto ao usuário.
Resumo em linguagem simples
Nesta aula, o ponto central foi Saída e f-strings. Tente explicar o modelo VALORES DO PROGRAMA → FORMATAÇÃO → MENSAGEM → SAÍDA COM CONTEXTO sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.
Conexão com a próxima aula
Na próxima aula, Expressões aritméticas aplicadas, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.