Módulo 4 - Variáveis e tipos de dados
Prática: um cadastro simples com os tipos certos
11 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026
O que você vai aprender
- Escolher o tipo certo para cada dado de um cadastro real.
- Montar a ficha combinando concatenação, str() e o print com vírgula.
- Desenhar uma moldura de terminal com a repetição de strings.
- Modificar o programa por conta própria nos 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: um cadastro simples com os tipos certos.
Os objetivos desta aula. Escolher o tipo certo para cada dado de um cadastro real. Montar a ficha combinando concatenação, str() e o print com vírgula. Desenhar uma moldura de terminal com a repetição de strings. Modificar o programa por conta própria nos desafios extras.
Veja o essencial, parte por parte.
A missão: cinco dados, três tipos. A missão: guardar nome, idade, cidade, profissão e altura em variáveis com o tipo certo.
Montando a ficha, linha por linha. Abra o Playground e monte a SUA ficha com os seus dados, sem espiar a próxima seção.
Código final e desafios extras. Segue o programa completo, do jeito que ele deve rodar no Playground ou no seu computador.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
A missão: cinco dados, três tipos
Todo sistema que você já usou tem um cadastro em algum lugar: a conta do streaming, a ficha da academia, o perfil da rede social. Nesta prática, você constrói o seu primeiro, em miniatura: um programa que guarda cinco informações de uma pessoa e as apresenta numa ficha organizada no terminal. Nada de input ainda, os dados ficam escritos no código; a versão que conversa com o usuário chega no módulo 5, reaproveitando exatamente o que você montar aqui.
O primeiro passo é a decisão de projeto que dá título ao módulo: qual tipo para cada dado? Não é pegadinha, é o raciocínio que você fará em todo programa da vida. Nome, cidade e profissão são textos, portanto str. Idade se conta em anos completos, sem fração: int. Altura se mede com casas decimais: float, e com ponto, como a aula do float martelou. A tabela fecha a decisão.
| Dado | Exemplo | Tipo | Por quê |
|---|---|---|---|
| nome | "Mariana Costa" | str | Texto entre aspas; aceita espaços e acentos |
| idade | 31 | int | Anos completos, contagem sem fração |
| cidade | "Curitiba" | str | Texto; nome próprio de lugar |
| profissao | "enfermeira" | str | Texto livre; note o nome da variável sem acento |
| altura | 1.68 | float | Medida com fração; ponto decimal, nunca vírgula |
O mapa da prática: cinco dados, três tipos, e cada escolha com motivo.
Um detalhe da tabela que passa fácil despercebido: a variável se chama profissao, sem acento, seguindo a regra da primeira aula de manter os nomes em ASCII simples, mas o VALOR pode ter acento à vontade, porque é texto: "enfermeira", "pedreiro", "programadora". Nome de variável é para o código; conteúdo é para as pessoas.
Montando a ficha, linha por linha
Com as variáveis decididas, o desafio vira apresentação: transformar cinco valores soltos numa ficha que se lê com prazer. A receita usa três técnicas do módulo. A moldura vem da repetição de strings: "=" * 30 desenha uma linha de trinta iguais, e duas delas abraçam o título. Cada linha de dado combina um rótulo fixo com a variável, e aqui você escolhe a arma: o print com vírgula, que converte sozinho, ou a concatenação com str(), que dá controle total sobre os espaços.
nome = "Mariana Costa"
idade = 31
print("=" * 30)
print("FICHA DE CADASTRO")
print("=" * 30)
print("Nome:", nome)
print("Idade: " + str(idade) + " anos")
# Saída:
# ==============================
# FICHA DE CADASTRO
# ==============================
# Nome: Mariana Costa
# Idade: 31 anosAs duas técnicas lado a lado: vírgula na linha do nome, concatenação com str() na linha da idade.
Repare na linha da idade: sem o str(), aquele + entre texto e int lançaria o TypeError que a aula passada dissecou. A conversão resolve, e a concatenação permite emendar o "anos" no final sem espaço sobrando. Já a linha do nome usa a vírgula do print, mais curta, que põe o espaço sozinha. Nenhuma das duas é a certa em absoluto; programador de verdade alterna conforme a necessidade, e esta prática existe para você sentir a diferença nos dedos.
Código final e desafios extras
Segue o programa completo, do jeito que ele deve rodar no Playground ou no seu computador. Digite, execute, confira a saída e só então compare com a sua versão. Diferenças de estilo são bem-vindas; o que precisa bater é o comportamento: cinco dados com os tipos certos e uma ficha legível.
# Cadastro simples - prática do módulo 4
nome = "Mariana Costa"
idade = 31
cidade = "Curitiba"
profissao = "enfermeira"
altura = 1.68
print("=" * 30)
print(" FICHA DE CADASTRO")
print("=" * 30)
print("Nome: " + nome)
print("Idade: " + str(idade) + " anos")
print("Cidade: " + cidade)
print("Profissão: " + profissao)
print("Altura: " + str(altura) + " m")
print("=" * 30)
print("Dados conferidos?", len(nome) > 0)
# Saída:
# ==============================
# FICHA DE CADASTRO
# ==============================
# Nome: Mariana Costa
# Idade: 31 anos
# Cidade: Curitiba
# Profissão: enfermeira
# Altura: 1.68 m
# ==============================
# Dados conferidos? TrueO cadastro completo: str, int e float trabalhando juntos, moldura com repetição e até um bool de bônus na última linha.
A última linha merece um comentário: len(nome) > 0 pergunta se o nome tem pelo menos um caractere e imprime o veredito booleano, True. É uma verificação ingênua por enquanto, mas é a semente das validações de verdade: no módulo 7, um if vai usar exatamente esse tipo de pergunta para recusar cadastros vazios. Os espaços extras depois dos rótulos, como em "Nome: ", são um truque manual de alinhamento; o jeito elegante de alinhar chega com as f-strings do módulo 12.
- Desafio 1: acrescente dois campos ao cadastro, um int (número de filhos ou ano de nascimento) e um float (peso em kg), mantendo a ficha alinhada.
- Desafio 2: crie uma variável maior_de_idade guardando o resultado de idade >= 18 e mostre na ficha como a última linha.
- Desafio 3: calcule o ano de nascimento aproximado com 2026 - idade e exiba na ficha, concatenando com str().
- Desafio 4: troque todos os prints com vírgula por concatenação, e depois faça o inverso; decida qual estilo você prefere em cada linha.
- Desafio 5: provoque de propósito um TypeError tirando um str() e um dado errado trocando o ponto da altura por vírgula; conserte os dois lendo as pistas.
Fechando o módulo: você agora guarda valores em variáveis com nomes decentes, distingue str, int, float e bool, descobre tipos com type(), converte com int(), float() e str(), e montou um programa que apresenta dados de verdade. O módulo 5 destranca a porta que falta: o input(), que deixa o USUÁRIO preencher esse cadastro em vez de você. E, spoiler coerente com esta unidade: tudo o que ele digitar vai chegar como string.
Teste rápido
No cadastro da prática, por que a altura é 1.68 e a idade é 31, sem ponto?
Perguntas frequentes
- Posso usar os meus dados de verdade na prática?
- No Playground, pode ficar tranquilo: o código roda isolado no seu navegador e não envia nada para servidor nenhum. Ainda assim, é um bom hábito de programador usar dados fictícios em exercícios, porque código de estudo acaba compartilhado em fórum, print de tela e portfólio.
- Por que a variável se chama profissao sem acento se o valor pode ter acento?
- São mundos diferentes: o nome da variável pertence ao código, e a convenção do curso é mantê-lo em ASCII simples, sem acento, para evitar problemas de teclado e compartilhamento. O valor é texto para pessoas, e aí o português entra completo: "enfermeira", "eletricitário", "padeiro".
- Minha ficha desalinhou quando mudei os dados. É erro?
- Não é erro, é limitação do alinhamento manual: os espaços fixos depois dos rótulos só alinham enquanto os dados têm tamanhos parecidos. Nomes maiores empurram a coluna. O alinhamento automático, que se adapta ao conteúdo, vem com as f-strings do módulo 12, e a sua ficha vai ficar impecável.
- Qual a diferença prática entre print com vírgula e concatenação com + ?
- A vírgula é mais cômoda: aceita qualquer tipo sem conversão e insere um espaço entre os valores. A concatenação exige str() nos números, mas devolve controle total, sem espaço automático, e permite guardar a mensagem pronta numa variável. Na ficha, as duas convivem bem; com o tempo você escolhe por reflexo.
- Fiz o desafio 5 e o erro da vírgula não apareceu. Por quê?
- Porque a vírgula no lugar do ponto não gera mensagem de erro imediata: altura = 1,68 cria silenciosamente a tupla (1, 68), e o programa segue. O sintoma aparece depois, na saída estranha entre parênteses ou num TypeError quando você tenta concatenar. É exatamente por ser silencioso que esse erro merece treino.
- O que estudar se esta prática pareceu fácil demais?
- Bom sinal: o módulo cumpriu o papel. Estique os desafios: monte fichas para três pessoas diferentes, calcule a média das alturas com as variáveis, ou tente exibir a altura com vírgula brasileira usando str() e concatenação criativa. E siga para o módulo 5, onde o input() transforma este cadastro num programa interativo.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.