Menu

print() e input() em Python: ler entrada e mostrar saída

Como as funções print() e input() do Python funcionam — além de separadores, caracteres de fim e como converter entrada do usuário em números.

As duas funções que tornam seu programa interativo

A maioria dos programas Python no começo segue o mesmo formato: pergunta algo ao usuário com input(), faz algo com a resposta e relata com print(). Essas duas funções embutidas são como seu código conversa com o mundo.

Vamos pegar uma de cada vez.

No mais simples, print() escreve uma linha de texto no terminal:

main.py
Output
Click Run to see the output here.

Isso gera a palavra hello seguida de uma quebra de linha. A quebra de linha é o que separa uma chamada de print da próxima na tela.

Você pode passar vários valores numa chamada, e o Python coloca um espaço entre eles:

main.py
Output
Click Run to see the output here.

Saída:

Name: Ada Age: 36

Os valores não precisam ser strings. O print chama str() em cada argumento, então você pode misturar tipos livremente:

main.py
Output
Click Run to see the output here.

Mudando o separador

Se um espaço entre valores não é o que você quer, use sep:

main.py
Output
Click Run to see the output here.

Mudando o fim da linha

Por padrão, print adiciona uma quebra de linha. Use end para mudar — por exemplo, para manter a saída na mesma linha:

main.py
Output
Click Run to see the output here.

end="" é o truque para construir uma linha pedaço por pedaço.

Por padrão, print escreve no stdout (saída padrão) — o lugar normal onde a saída do terminal aparece. Você pode redirecionar para stderr, um arquivo ou qualquer outro objeto parecido com arquivo com o argumento file:

main.py
Output
Click Run to see the output here.

Para saída formatada — duas casas decimais, colunas alinhadas, vírgulas em números grandes — use f-strings dentro do print:

main.py
Output
Click Run to see the output here.

input(): lendo do usuário

input(prompt) para o programa, mostra o prompt ao usuário e espera. O que quer que o usuário digite — até apertar enter — volta como string.

main.py
Output
Click Run to see the output here.

Três coisas sobre input que pegam os iniciantes:

Sempre retorna uma string

Mesmo que o usuário digite 42, o que você recebe é a string "42". Você não pode fazer aritmética diretamente:

main.py
Output
Click Run to see the output here.

É por isso que você vai ver muito int(input(...)) ou float(input(...)) inline. Se o usuário digita algo que não é um número válido, int() gera ValueError — que vamos tratar direito no capítulo de exceções.

O prompt é opcional

Se você não passa um prompt, input() espera em silêncio, o que é quase sempre a escolha errada — o usuário não tem ideia do que você está pedindo. Sempre passe um prompt claro:

main.py
Output
Click Run to see the output here.

Ele não remove nada

O que quer que o usuário digite, incluindo espaços em branco no começo e no fim, volta exatamente assim. Se isso importa para sua lógica, chame .strip():

main.py
Output
Click Run to see the output here.

Um programa completo pequeno

Juntando tudo — algumas linhas que perguntam informações ao usuário e imprimem um relatorinho:

main.py
Output
Click Run to see the output here.

Doze linhas. Se lê de cima para baixo como instruções, não como código. É esse o estilo que estes docs tentam incentivar.

E quanto ao debug com print?

Você vai ouvir às vezes que "desenvolvedores de verdade usam debugger, não print". É exagero. Print é uma ferramenta de debug perfeitamente boa, principalmente para scripts pequenos e experimentos rápidos. Espalhe chamadas de print com liberdade enquanto está descobrindo algo, e remova quando terminar.

Dois pequenos truques de qualidade de vida:

main.py
Output
Click Run to see the output here.

O = dentro de uma f-string imprime nome e valor, o que poupa muito print("name =", name).

Seguindo em frente

print e input te dão um ciclo de conversa completo: pergunte, leia, responda. O próximo capítulo começa a misturar condições — a instrução if e os operadores que decidem o que seu programa faz com base nos valores que vê.

Perguntas frequentes

O que o print() faz em Python?

Escreve valores no terminal. print("hello") gera hello seguido de uma quebra de linha. Você pode passar vários valores separados por vírgula, e o print() vai colocar um espaço entre eles por padrão.

Como funciona o input() em Python?

input(prompt) pausa o programa, mostra o prompt ao usuário, espera ele digitar algo e apertar enter, e retorna o que foi digitado como string. Sempre uma string — se você quer um número, envolva a chamada em int(...) ou float(...).

Como imprimo na mesma linha em Python?

Passe end="" para o print. Por padrão, print adiciona uma quebra de linha depois da saída; definir end como string vazia (ou qualquer outro caractere) substitui essa quebra.

Aprenda a programar com o Coddy

COMEÇAR