Pular para o conteúdo
</>RoByte

Buscar cursos e aulas

Aulas do curso

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

Código no GitHubAbrir no Colab

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.