Submódulo 2: Tipos de dados básicos e operações
Strings, f-strings, input() e conversões — práticas e armadilhas
💬 Strings e I/O: contar a história antes do código
Problema real: um sistema pede idade do usuário; queremos armazenar como número para cálculos — mas input()
sempre retorna str. Portanto, precisamos converter com segurança e validar a entrada. A documentação oficial do Python explica o comportamento de input()
e mostra como usar f-strings para formatar saída (1).

Manipulação básica de strings — explicação
Concatenar com +
e repetir com *
funcionam, mas f-strings são a forma moderna e legível de interpolar valores em textos. Use métodos como .upper()
, .lower()
e fatiamento s[1:4]
para extrair partes do texto. Antes do código, pense: que formatos de entrada aceitaremos? Isso guia validação.
# Strings e entrada segura
nome = input("Digite seu nome: ") # sempre str
idade_str = input("Digite sua idade: ") # precisamos converter
try:
idade = int(idade_str) # pode gerar ValueError se a entrada não for numérica
except ValueError:
print("Idade inválida. Informe um número inteiro.")
else:
print(f"Olá {nome.title()}, você tem {idade} anos.") # f-string
Dica de robustez: trate entradas vazias e espaços com .strip()
. Para conversões mais complexas, recorra a float()
ou a bibliotecas como decimal
quando precisão for crítica (2). Formatted string literals (f-strings) são documentadas na seção de I/O e mostram formas de especificar precisão e formatos (3).
Reflita
Um erro comum é chamar int('')
sem checar; isso gera ValueError. Como você validaria uma entrada que pode aceitar números decimais ou texto vazio? Escreva três casos de teste para sua função de parsing.
Atividade prática
- Implemente
le_int(prompt)
que pede até o usuário inserir um inteiro válido (laço com try/except). - Adicione testes usando asserts: entrada '42' → 42; entrada '' deve repetir o pedido; entrada '3.14' deve falhar até inserir inteiro.
Resumo: usar input()
exige validação; f-strings tornam mensagens legíveis; sempre trate exceções de conversão para não quebrar o programa em produção. Para referências oficiais sobre input()
e f-strings, veja a documentação do Python (1) e a seção sobre literais formatadas (3). Para melhores práticas de conversão e comportamento de tipos, consulte guias confiáveis como Real Python (2).