Módulo 5 - Entrada de dados com input()
Pedindo informações ao usuário com input()
9 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026
O que você vai aprender
- Entender que input() PAUSA o programa até o usuário responder.
- Escrever mensagens de prompt claras, com espaço no final.
- Perceber que o valor digitado se perde se ninguém o guardar.
- Rodar o primeiro programa interativo no terminal e no Playground.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Pedindo informações ao usuário com input().
Os objetivos desta aula. Entender que input() PAUSA o programa até o usuário responder. Escrever mensagens de prompt claras, com espaço no final. Perceber que o valor digitado se perde se ninguém o guardar. Rodar o primeiro programa interativo no terminal e no Playground.
Veja o essencial, parte por parte.
O programa que para e espera. input() faz o programa PARAR e esperar o usuário digitar algo e apertar Enter.
Escrevendo um bom prompt. Diga O QUE digitar: nome, idade em anos, cidade. Especifique quando houver formato esperado.
Para onde vai a resposta?. Agora a pergunta que define esta aula: quando o usuário digita Maria e aperta Enter, para onde vai esse texto?
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
O programa que para e espera
Todos os programas que você escreveu até agora eram monólogos: rodavam de cima a baixo, mostravam as mensagens e terminavam, sem dar chance de alguém participar. A função input() muda isso. Quando o Python encontra um input() no meio do código, ele faz algo que nenhuma linha sua fez até aqui: para tudo e espera. O programa fica congelado, com o cursor piscando, até o usuário digitar alguma coisa e apertar Enter. Só então a execução continua da linha seguinte.
print("Antes da pergunta")
input("Qual é o seu nome? ")
print("Depois da pergunta")Rode este programa e repare: a terceira linha só executa depois que você responde e aperta Enter.
Antes da pergunta
Qual é o seu nome? Maria
Depois da perguntaA conversa no terminal. O Maria em itálico mental: foi o usuário quem digitou, não o programa.
Essa pausa é o coração de todo programa interativo. O menu do caixa eletrônico, o formulário de cadastro, o quiz do celular: por baixo, todos seguem o mesmo ritmo de perguntar, esperar, continuar. No terminal, a espera acontece na própria linha, ao lado do prompt. No Playground do curso, o Python roda dentro do navegador, então o input() aparece como uma caixa de diálogo pedindo a resposta. Funciona do mesmo jeito; a experiência mais fiel ao dia a dia de quem programa é a do terminal do seu computador, mas os dois servem para praticar.
Escrevendo um bom prompt
O texto entre os parênteses do input() é o prompt, a pergunta que o usuário vê. Ele é opcional: input() sem nada funciona, mas deixa a pessoa diante de um cursor piscando sem instrução nenhuma, sem saber se deve digitar o nome, a idade ou a senha do banco. Programa bom não faz adivinhação virar requisito. Escreva sempre um prompt que diga exatamente o que você espera.
# Ruim: o usuário não sabe o que digitar
input()
# Melhor: a pergunta está clara
input("Digite a sua cidade: ")O mesmo input(), com e sem instrução. A diferença é o usuário saber o que fazer.
Repare num detalhe pequeno que separa programa amador de programa cuidadoso: o espaço depois dos dois-pontos, antes de fechar as aspas. Sem ele, o que o usuário digita aparece grudado na pergunta, tipo Digite a sua cidade:Recife. Com o espaço, a resposta respira: Digite a sua cidade: Recife. O Python não liga para isso; quem lê a tela, liga. É o mesmo capricho de escrever uma mensagem legível para outra pessoa, porque é exatamente isso que o prompt é.
Prompt que confunde
- input() sem mensagem nenhuma
- input("nome")
- input("Digite:")
- input("Insira o dado requerido: ")
Prompt que orienta
- input("Qual é o seu nome? ")
- input("Digite o seu nome completo: ")
- input("Quantos anos você tem? ")
- input("Em que cidade você mora? ")
Para onde vai a resposta?
Agora a pergunta que define esta aula: quando o usuário digita Maria e aperta Enter, para onde vai esse texto? O input() devolve o valor digitado, como se estendesse a mão com um papelzinho escrito Maria. Se nenhuma parte do seu código pegar esse papelzinho, ele cai no chão e some. É o que acontece no exemplo lá do começo: perguntamos o nome, o usuário respondeu, e o programa seguiu em frente ignorando a resposta por completo. Nada guardou o valor, então o valor se perdeu.
# A resposta é devolvida... e descartada, porque ninguém guardou
input("Qual é o seu nome? ")
print("Prazer em conhecer você!")
# O programa nem sabe mais o que foi digitado.Um desperdício educado: pergunta o nome e cumprimenta sem usar a resposta.
Você já conhece a ferramenta que resolve isso desde o módulo 4: a variável. Guardar a resposta do input() numa variável é o assunto inteiro da próxima aula, então aqui fica só o aperitivo de uma linha: nome = input("Qual é o seu nome? "). O papelzinho com a resposta vai parar na caixinha nome, pronto para ser usado quantas vezes o programa quiser. Antes de virar a página, rode o exemplo desperdiçado acima no Playground ou no terminal e sinta o incômodo: o programa perguntou e não ouviu. Esse incômodo é a motivação certa para a aula que vem.
Teste rápido
O que acontece quando o Python executa uma linha com input()?
Perguntas frequentes
- O input() funciona sem nenhuma mensagem dentro dos parênteses?
- Funciona: input() sozinho pausa o programa e espera do mesmo jeito. O problema é a experiência: o usuário vê um cursor piscando sem saber o que digitar. Na prática, escreva sempre um prompt claro; a exceção é rara e você saberá quando for o caso.
- Por que colocar um espaço antes de fechar as aspas do prompt?
- Para a resposta do usuário não sair grudada na pergunta. Sem o espaço, a tela mostra Digite seu nome:Maria; com ele, Digite seu nome: Maria. O Python aceita os dois, mas o segundo é legível. É detalhe de capricho que aparece em todo código bem cuidado.
- O programa fica travado para sempre se ninguém responder?
- Fica esperando indefinidamente, sim; isso não é defeito, é o comportamento esperado. No terminal, dá para encerrar um programa preso apertando Ctrl+C. No Playground, basta fechar a caixa de diálogo ou recarregar a página.
- Por que no Playground o input() abre uma caixa de diálogo?
- Porque o Playground roda o Python dentro do navegador, e navegador não tem terminal de verdade; a caixa de diálogo é a forma de coletar a resposta. O comportamento do código é o mesmo. Para sentir a experiência clássica, com a espera na própria linha, rode o programa no terminal do seu computador, como o módulo 2 ensinou.
- Posso usar vários input() no mesmo programa?
- Pode, e é o normal. Cada input() faz a sua própria pausa, na ordem em que aparece no código: o programa pergunta, espera, continua, pergunta de novo. Na próxima aula você monta exatamente essa sequência, guardando cada resposta numa variável diferente.
- O input() serve para digitar senhas?
- Serve, mas com uma ressalva: tudo o que a pessoa digita fica visível na tela. Para senha existe a função getpass, da biblioteca padrão, que esconde a digitação. Ela usa conceitos de importação que chegam mais adiante na trilha; por enquanto, saiba que input() não é a ferramenta para dado sigiloso.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.