2
respostas

Resposta

Esse eu copiei só o print do imc, o restante eu consegui fazer, foi luta, rsrsrs

peso = float(input('digite o peso:  '))
altura = float(input('digite a altura:  '))

imc = peso / (altura ** 2) 
print(f"Seu IMC é: {imc:.2f}")
    
if imc < 18.5:	
   print('abaixo do peso')
elif 18.5 <= imc < 25: 
    print('peso normal')
elif imc >= 25:
      print('acima do peso')
2 respostas

Olá, Edineres. Como vai?

Parabéns pelo esforço e por não ter desistido! Programação é exatamente assim no começo: uma verdadeira luta com a sintaxe, mas a sensação de ver o código funcionando compensa cada minuto de dedicação. O mais importante é que você conseguiu entender a lógica por trás do cálculo e das condições.

O seu raciocínio para calcular o IMC e classificar os resultados usando if, elif e else está totalmente correto. A fórmula matemática foi aplicada certinho e a formatação com {imc:.2f} para mostrar apenas duas casas decimais ficou excelente!

Como você mencionou que foi uma luta e copiou um trecho, aposto que parte dessa dificuldade aconteceu por causa de um detalhe muito específico do Python: a indentação (aqueles espaços no começo das linhas) e a quebra de linhas. Do jeito que o código foi colado no fórum, ele apresentaria alguns erros de sintaxe se fosse executado diretamente.

Para te ajudar a deixar o seu código perfeito e pronto para rodar sem nenhum erro, fiz alguns pequenos ajustes de organização nele:

  1. Coloquei o comando print(f"Seu IMC é...") na linha de baixo, logo após o cálculo.
  2. Alinhei todas as estruturas de condição (if, elif) na margem esquerda.
  3. Coloquei quatro espaços de recuo (indentação) para os comandos print que estão dentro de cada condição.

Veja como o seu código fica limpo e funcional:

peso = float(input('Digite o peso (ex: 70.5): '))
altura = float(input('Digite a altura (ex: 1.75): '))

imc = peso / (altura ** 2) 

print(f"Seu IMC é: {imc:.2f}")

if imc < 18.5:	
    print('Abaixo do peso')
elif 18.5 <= imc < 25: 
    print('Peso normal')
else:
    print('Acima do peso')
  • Dica de ouro sobre o else:

Repare que na última condição eu substituí o elif imc >= 25: por apenas else:. Como o Python já checou se o IMC é menor que 18.5 e se está entre 18.5 e 25, qualquer número que sobrar com certeza será maior ou igual a 25. O else serve justamente para cobrir "todo o resto", deixando seu script ainda mais simples.

Continue praticando e postando suas dúvidas por aqui. Cada pequena vitória te deixa mais perto de dominar o Python!

Espero que possa ter lhe ajudado!

Obrigada pelas preciosas dicas, de fato são muitos detalhes e por ser iniciante alguns detalhes passam desapercebidos, mas essas dicas ajudam o aluno a aprender e fixar ainda mais o aprendizado, obrigada mesmo.