Vídeo em breve
Por enquanto, esta aula está disponível só em texto — o vídeo entra assim que ficar pronto.
Primeiros passos
Entrada e saída de dados
Lendo dados do usuário com input(), controlando print() com sep/end, f-strings e os erros mais comuns de conversão de tipo. · 12 min
Um programa só é útil quando conversa com quem está usando ele. Nesta aula vemos como ler o que o usuário digita e como mostrar resultados de forma legível.
Lendo dados com input()
nome = input("Qual é o seu nome? ")
print("Olá, " + nome + "!")
input() sempre devolve uma str — mesmo que a pessoa digite só números.
Atenção
input("Sua idade: ") devolve o texto "28", não o número 28. Para
fazer contas, é preciso converter: idade = int(input("Sua idade: ")).
Esse é o erro número um de quem está começando.
Atenção
E se a pessoa digitar algo que não é número, tipo "abc"? int("abc")
gera um erro (ValueError) e o programa para na hora. Tratar isso direito
(sem o programa quebrar) usa try/except, um assunto mais avançado que
fica para depois deste curso — por enquanto, saiba que esse erro existe e
é normal acontecer se o usuário digitar algo inesperado.
Controlando o print(): sep e end
Por padrão, print() separa múltiplos valores com espaço e termina com
uma quebra de linha. Dá para mudar os dois:
print("a", "b", "c") # "a b c"
print("a", "b", "c", sep="-") # "a-b-c"
print("Carregando", end="") # não pula linha depois
print("...") # continua na mesma linha: "Carregando..."
Dica
end="" é útil dentro de laços quando você quer imprimir vários valores
seguidos na mesma linha, em vez de um por linha.
f-strings: a forma moderna de formatar texto
Em vez de concatenar com +, Python tem as f-strings, muito mais legíveis:
nome = "Ada"
idade = 28
# jeito antigo
print("Olá, " + nome + "! Você tem " + str(idade) + " anos.")
# f-string
print(f"Olá, {nome}! Você tem {idade} anos.")
Dica
Dentro de {} numa f-string você pode colocar qualquer expressão Python,
não só uma variável: f"Ano que vem: {idade + 1}" funciona.
Exercícios
Exercício
1. Aquecimento. Peça o nome e a cidade da pessoa e imprima
"<nome> mora em <cidade>." usando f-string.
Exercício
2. Com conversão de tipo. Peça o preço de um produto e a quantidade
desejada (dois input(), convertidos para float e int), e imprima o
total formatado com duas casas decimais: f"Total: R$ {total:.2f}".
Exercício
3. Desafio. Peça o nome de três produtos e o preço de cada um (você
vai usar input() seis vezes). Imprima uma “nota fiscal” simples, uma
linha por produto, e o total no final. Dica: não tem problema repetir o
input() — laços de repetição só aparecem na próxima aula.