Entrada pelo teclado com input
Objetivo da aula
Receber dados do usuário e compreender que a entrada chega como texto.
Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.
Começando do zero
input() pausa o programa e espera que a pessoa digite uma linha. O ponto mais importante é: o resultado de input() é sempre texto. Se você pretende fazer uma conta, precisa converter esse texto e depois validar se o valor faz sentido.
Uma imagem mental para entender
Imagine um formulário de papel. Tudo o que a pessoa escreve chega primeiro como tinta no campo. Só depois você interpreta “25” como idade, “1.72” como altura ou “sim” como resposta. input() é parecido: ele recebe caracteres; a interpretação vem depois.
Conceitos essenciais, sem pular etapas
Prompt
O texto passado para input() é a mensagem exibida antes da digitação. Um bom prompt diz claramente o que o programa espera.
Retorno como str
Mesmo que o usuário digite 42, o resultado inicial é "42". Isso evita que input() precise adivinhar o tipo.
Conversão explícita
Para somar idades ou calcular preços, converta com int() ou float() conforme o modelo.
Validação
Depois da conversão, ainda verifique regras: uma quantidade pode precisar ser maior que zero; uma nota pode precisar estar entre 0 e 10.
Modelo mental
PROMPT → TEXTO DIGITADO → CONVERSÃO → VALIDAÇÃO → PROCESSAMENTO
Exemplo 1 — primeiro veja o programa inteiro
nome = input("Digite seu nome: ")
idade_texto = input("Digite sua idade: ")
idade = int(idade_texto)
print("Olá,", nome)
print("No próximo aniversário você terá", idade + 1)
Agora vamos ler linha por linha
input("Digite seu nome: ")retorna o texto digitado.- A idade é recebida primeiro como texto para deixar a etapa visível.
int(idade_texto)tenta produzir um inteiro.- Somente depois da conversão é seguro usar
idade + 1como soma numérica.
Saída esperada
A saída depende dos valores digitados.
Exemplo 2 — o mesmo conceito em outra situação
quantidade = int(input("Quantidade de itens: "))
preco = float(input("Preço unitário: "))
total = quantidade * preco
print("Total:", total)
Nesta forma compacta, entrada e conversão acontecem na mesma expressão. É útil, mas durante a aprendizagem separar as etapas pode facilitar a depuração.
Experimento guiado
Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.
- Digite valores válidos e observe os tipos com
type(). - Digite uma palavra onde o programa espera inteiro e leia a exceção produzida.
- Reescreva o segundo exemplo separando texto recebido e valor convertido em variáveis diferentes.
- Crie um prompt que diga explicitamente a unidade esperada, como “altura em metros”.
Mini desafio
Faça um programa que pergunte nome de um produto, quantidade e preço unitário, depois mostre uma frase com o total.
Solução comentada
produto = input("Produto: ")
quantidade_texto = input("Quantidade inteira: ")
preco_texto = input("Preço unitário (ex.: 12.50): ")
quantidade = int(quantidade_texto)
preco = float(preco_texto)
total = quantidade * preco
print(produto, "- total:", total)
Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.
Erros comuns e por que acontecem
- Esquecer que
input()retorna texto e tentar fazer soma numérica diretamente. - Escrever um prompt vago como “valor:” sem dizer o que representa ou qual formato é esperado.
- Converter e assumir que qualquer número é permitido pela regra do programa.
Cheque se você realmente entendeu
Qual tipo input() retorna?
Resposta: str.
Por que separar entrada, conversão e validação?
Resposta: Porque são responsabilidades diferentes e falham por motivos diferentes.
Se o usuário digitar "abc" e você chamar int(), o que pode ocorrer?
Resposta: Uma ValueError.
Resumo em linguagem simples
Nesta aula, o ponto central foi Entrada pelo teclado com input. Tente explicar o modelo PROMPT → TEXTO DIGITADO → CONVERSÃO → VALIDAÇÃO → PROCESSAMENTO sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.
Conexão com a próxima aula
Na próxima aula, Saída e f-strings, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.