Módulo 5 - Entrada de dados com input()
Prática: uma conversa completa no terminal
10 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026
O que você vai aprender
- Montar um programa interativo com três perguntas encadeadas.
- Aplicar a conversão int() no lugar certo, e só nele.
- Calcular o ano dos 100 anos a partir da idade e de um ano de referência.
- Testar o programa com valores conhecidos e encarar os desafios extras.
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: Prática: uma conversa completa no terminal.
Os objetivos desta aula. Montar um programa interativo com três perguntas encadeadas. Aplicar a conversão int() no lugar certo, e só nele. Calcular o ano dos 100 anos a partir da idade e de um ano de referência. Testar o programa com valores conhecidos e encarar os desafios extras.
Veja o essencial, parte por parte.
O plano do programa. O programa pergunta nome, idade e cidade, e responde com uma mensagem personalizada.
Construindo passo a passo e o código final. Rode com valores de teste de mesa: 30 anos em 2026 tem que dar 2096. Deu diferente? Caça ao bug.
Desafios extras. O programa funciona; agora ele é seu para melhorar.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
O plano do programa
Todo programa começa antes do código, num plano de papel de pão. O nosso: perguntar três coisas (nome, idade, cidade), calcular uma (o ano em que a pessoa completa 100 anos) e responder com uma mensagem que só faz sentido para quem respondeu. É o ciclo falar-ouvir-trabalhar da aula 2, agora com uma conta de verdade no meio. Antes de digitar qualquer linha, resolva a conta no papel: se estamos em 2026 e você tem 30 anos, nasceu por volta de 1996, e 1996 + 100 dá 2096. O mesmo resultado sai de um atalho mais direto: 2026 - 30 + 100 = 2096. É essa fórmula que o programa vai usar.
| Passo | Ferramenta | Detalhe que importa |
|---|---|---|
| 1. Fixar o ano atual | variável | ano_atual = 2026 no topo, fácil de achar e atualizar |
| 2. Perguntar o nome | input() | Sem conversão: nome é texto |
| 3. Perguntar a idade | int(input()) | Com conversão: a idade entra em conta |
| 4. Perguntar a cidade | input() | Sem conversão: cidade é texto |
| 5. Calcular | aritmética | ano_100 = ano_atual - idade + 100 |
| 6. Responder | print() | Mensagem montada com as respostas e o resultado |
O plano completo. Repare que a conversão aparece uma única vez, exatamente onde há conta.
Duas decisões do plano merecem justificativa. Primeira: o ano atual entra como variável fixa no topo do programa, um valor de referência, em vez de espalhado no meio da conta. Quando 2027 chegar, você atualiza UM número numa linha óbvia. Existe um jeito de o programa descobrir a data sozinho, com o módulo datetime da biblioteca padrão, mas ele usa importações que a trilha apresenta mais adiante; o desafio extra desta aula aponta um meio-termo. Segunda decisão: só a idade recebe int(). Converter o nome quebraria o programa com o ValueError da aula passada, e a cidade tampouco é número. Conversão é ferramenta de precisão, não hábito automático.
Construindo passo a passo e o código final
Digite o programa por partes, rodando a cada acréscimo, em vez de escrever tudo e rodar no final. Comece só com o ano de referência e a pergunta do nome, rode, veja funcionando. Acrescente a idade com a conversão, rode de novo. É o jeito de trabalhar que isola qualquer erro na última coisa que você mexeu, e ele vale para todo programa que você escrever daqui em diante. O resultado completo:
# Conversa no terminal - pratica do modulo 5
ano_atual = 2026
nome = input("Qual é o seu nome? ")
idade = int(input("Quantos anos você tem? "))
cidade = input("Em que cidade você mora? ")
ano_100 = ano_atual - idade + 100
print()
print("Prazer em conhecer você,", nome + "!")
print("Você mora em", cidade, "e tem", idade, "anos.")
print("Em", ano_100, "você completa 100 anos. Anota aí!")O programa completo: 3 perguntas, 1 conta, 3 linhas de resposta personalizada.
Qual é o seu nome? Bruno
Quantos anos você tem? 30
Em que cidade você mora? Curitiba
Prazer em conhecer você, Bruno!
Você mora em Curitiba e tem 30 anos.
Em 2096 você completa 100 anos. Anota aí!Uma execução completa. O print() vazio cria a linha em branco que separa perguntas de resposta.
Três detalhes do código valem lupa. O print() vazio antes da resposta imprime uma linha em branco, respiro visual que separa a fase das perguntas da fase da resposta; custa nada e muda a cara do programa. O nome + "!" na primeira resposta emenda a exclamação colada ao nome, sem o espaço que a vírgula colocaria; aqui a concatenação, vilã da aula 3, trabalha a nosso favor, porque os dois lados são texto de propósito. E a conta ano_atual - idade + 100 fica numa linha própria, com resultado guardado em ano_100, em vez de espremida dentro do print: código que se lê como o plano de papel de pão.
Desafios extras
O programa funciona; agora ele é seu para melhorar. Os desafios abaixo estão em ordem de esforço, e cada um usa só o que o curso já ensinou até aqui, com uma exceção anunciada. Não existe resposta única: dois alunos vão escrever códigos diferentes e igualmente certos. O que importa é digitar, rodar e ajustar até ficar do seu jeito.
- Acrescente uma quarta pergunta (profissão, time, comida favorita) e encaixe a resposta na mensagem final.
- Mostre também o ano de nascimento aproximado da pessoa: ano_atual - idade.
- Pergunte o ano atual ao usuário, com int(input()), em vez de fixar 2026 no código: o programa deixa de precisar de atualização anual.
- Calcule em que ano a pessoa completa 18 anos e mostre se a data já passou ou ainda vem (só a conta; decidir qual frase mostrar exige o if do módulo 7, então mostre as duas informações).
- Deixe a resposta com a sua cara: caixa de texto com bordas de sinal de igual, emojis, o formato que você quiser dentro dos prints.
Um lembrete honesto antes de fechar o módulo: esse programa quebra se alguém digitar a idade por extenso, e você sabe exatamente por quê e em qual linha. Essa consciência é o padrão profissional possível no módulo 5, e ela já coloca você à frente de quem copia código sem entender. A blindagem de verdade tem endereço marcado, o módulo 14. No caminho até lá, o módulo 6 pega as respostas convertidas que você domina agora e as coloca para trabalhar de verdade: soma, divisão, resto, potência e a calculadora que abre a segunda metade do curso. Mini-prova primeiro; ela cobre as cinco aulas deste módulo.
Teste rápido
Com ano_atual = 2026, o usuário digita 40 na idade. O que ano_atual - idade + 100 calcula?
Perguntas frequentes
- Meu resultado deu um ano de diferença do esperado. Errei?
- Provavelmente não: a conta usa a idade em anos completos, sem saber o mês do aniversário. Quem ainda não fez aniversário no ano dá um resultado; quem já fez, outro. Para este exercício, a aproximação é aceitável e proposital; precisão de data completa exige o módulo datetime, que vem adiante na trilha.
- Por que fixar ano_atual = 2026 em vez de o programa descobrir a data sozinho?
- Porque descobrir a data usa o módulo datetime, que envolve importação, assunto de mais adiante na trilha. Fixar o ano numa variável de referência no topo é a solução honesta com as ferramentas atuais: funciona, é fácil de atualizar e ensina um hábito bom, o de não espalhar números soltos pelo código. O desafio 3 elimina até essa manutenção, perguntando o ano ao usuário.
- Posso escrever int(input()) para o nome também, por segurança?
- Não faça isso: seria o contrário de segurança. A int() exige texto com cara de número, e Maria não tem; o programa quebraria com ValueError na primeira resposta. Conversão se usa onde há conta a fazer, e só a idade entra em conta neste programa.
- O print() vazio no meio do código serve para quê?
- Imprime uma linha em branco na tela, separando visualmente o bloco de perguntas do bloco de resposta. É estética pura, e estética de saída importa: o mesmo programa parece mais profissional com um respiro no lugar certo. Você pode empilhar mais de um para espaços maiores.
- No Playground, as três perguntas aparecem de uma vez?
- Não: uma caixa de diálogo por vez, na ordem do código, cada uma esperando a sua resposta antes de o programa continuar. É o mesmo fluxo do terminal com outra roupa. Para ver a conversa clássica, com perguntas e respostas empilhadas na tela, rode o programa no terminal do computador, como o módulo 2 ensinou.
- Fiz os desafios e quero mais. O que praticar com input() antes do módulo 6?
- Invente conversas com contas simples: perguntar duas notas e mostrar a soma, perguntar o preço e a quantidade de um produto e mostrar o total, perguntar o ano de nascimento e mostrar a idade aproximada. O padrão é sempre o mesmo, perguntar, converter o que é número, calcular, responder, e cada repetição grava mais fundo.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.