Crie um programa que:
- pergunte ao usuário seu nome (texto), idade (inteiro) e altura (real);
- armazene cada valor em uma variável;
- exiba na tela a seguinte mensagem:
Olá, <nome>! Você tem <idade> anos e mede <altura> metros.
Olá, <nome>! Você tem <idade> anos e mede <altura> metros.
Passo 1
O que o problema pede e os dados que ele dá:
- Pedir ao usuário três informações: nome (texto), idade (inteiro) e altura (número real).
- Armazenar cada valor em uma variável separada.
- Exibir na tela a mensagem exatamente no formato:
Olá, <nome>! Você tem <idade> anos e mede <altura> metros.
Informações relevantes extraídas do enunciado:
- O nome é uma sequência de caracteres (string).
- A idade deve ser um inteiro.
- A altura deve ser um número real (pode ter vírgula ou ponto como separador decimal).
- A saída deve juntar os valores nas posições indicadas dentro da frase.
Passo 2
Escolha da linguagem e método
- Vou usar Python porque é simples, muito usado em provas/listas iniciais e permite ler texto e números facilmente com poucas linhas.
- Método básico: usar a função built-in input() para ler do usuário; converter para os tipos desejados com int() e float(); guardar em variáveis; montar a string final e imprimir com print().
- Esse é o método mais direto e seguro para o que o enunciado pede.
Passo 3
Conceitos essenciais (variáveis e tipos) — explicação tipo-aula
- Variável: um nome que guarda um valor na memória. Ex.: nome = “Ana”.
- Tipo string (texto): em Python, valores lidos por input(…) já vêm como string.
- Tipo inteiro: representa números sem parte decimal. Em Python converte-se uma string usando int(s).
- Exemplo: s = “21”; idade = int(s) → idade agora vale 21 (tipo int).
- Se a string não for um número inteiro válido, int(…) gera um erro.
- Tipo float (real): representa números com parte decimal. Converte-se com float(s).
- Exemplo: s = “1.75”; altura = float(s) → altura = 1.75 (tipo float).
- Em português, o usuário pode digitar “1,75” com vírgula. Antes de chamar float(), substitui-se vírgula por ponto: s = s.replace(’,’, ‘.’).
- Boa prática: validar entradas (perguntar de novo se a conversão falhar), para evitar que o programa quebre se o usuário digitar algo errado.
Passo 4
Como ler o nome (passo a passo)
- Usar input() fornece uma string; armazenar direto em uma variável.
- Recomendo “limpar” espaços extras com .strip().
- Exemplo de código:
nome = input("Digite seu nome: ").strip()
Explicação: input(…) mostra a mensagem e retorna tudo que o usuário digitou como string. strip() remove espaços no começo e fim.
Passo 5
Como ler a idade (validação)
- Ler com input(), tentar converter com int(). Se der erro, pedir novamente.
- Estrutura: laço while True com try/except para capturar ValueError.
- Exemplo de lógica (explicado):
- Ler texto.
- Tentar int(texto).
- Se ok, guardar em idade e sair do laço.
- Se der erro, avisar e pedir de novo.
Isso evita que o programa caia caso o usuário digite letras por engano.
Passo 6
Como ler a altura (tratar vírgula e validar)
- Ler com input(). Permitir que usuário use vírgula (ex: “1,75”) ou ponto (“1.75”).
- Converter vírgula para ponto antes de float(): s = s.replace(’,’, ‘.’).
- Usar try/except para validar float; em caso de erro, pedir de novo.
- Decidir quantas casas decimais mostrar na saída: normalmente duas casas são boas para altura (ex: 1,75). Vou formatar para duas casas no output.
Passo 7
Como montar e exibir a mensagem final (formatação)
- Em Python, f-strings são uma forma simples e legível: f"Olá, {nome}! Você tem {idade} anos e mede {altura} metros."
- Para mostrar a altura com duas casas decimais e usando vírgula decimal (formato comum em PT-BR):
- criar uma string formatada com ponto: s = f"{altura:.2f}" → exemplo “1.75”
- trocar ponto por vírgula para exibição: s_display = s.replace(’.’, ‘,’) → “1,75”
- Finalmente, usar print(…) para mostrar a frase completa.
Passo 8
Exemplo de execução (para você ver como fica na prática)
- Usuário digita:
- nome: Maria
- idade: 20
- altura: 1,68
- Saída exibida:
Olá, Maria! Você tem 20 anos e mede 1,68 metros.
Passo 9
Programa completo (descrição)
- O programa que vou colocar na seção de resposta faz tudo que pedimos:
- pede nome, idade e altura;
- valida idade como inteiro e altura como real (aceitando vírgula ou ponto);
- formata a altura com duas casas decimais e usa vírgula decimal para exibir;
- imprime exatamente a frase solicitada.
Resposta
# Programa: ler nome, idade e altura e mostrar a mensagem pedida
# Leitura do nome
nome = input("Digite seu nome: ").strip()
# Leitura da idade com validação (inteiro)
while True:
s_idade = input("Digite sua idade (inteiro): ").strip()
try:
idade = int(s_idade)
break
except ValueError:
print("Entrada inválida. Digite um número inteiro para a idade.")
# Leitura da altura com validação (real). Aceita vírgula ou ponto.
while True:
s_altura = input("Digite sua altura em metros (ex: 1,75 ou 1.75): ").strip()
s_altura = s_altura.replace(',', '.') # permite vírgula
try:
altura = float(s_altura)
break
except ValueError:
print("Entrada inválida. Use números, por exemplo 1,75 ou 1.75.")
# Formatar a altura para exibição com duas casas decimais e vírgula decimal
altura_str = f"{altura:.2f}".replace('.', ',')
# Exibir a mensagem final
print(f"Olá, {nome}! Você tem {idade} anos e mede {altura_str} metros.")