1
resposta

Minha Resposta

altura = float(input('Informe sua altura? '))
peso = float(input('Informe seu peso? '))

imc = peso /(altura * 2)

if imc <= 18.5:
    print('Muito Magro')
elif imc == 18.5 or imc <= 24.9:
    print('Peso adequado')
elif imc == 25.0 or imc <= 29.9:
    print('Sobre Peso')
elif imc == 30.0 or imc <= 34.9:
    print('Obeso Grau I')
elif imc == 35.0 or imc <= 39.9:
    print('Obeso Grau II')
else:
    print('Obeso Grau III ou Móbirdo')
1 resposta

Olá Adriel! Tudo bem?

Há alguns pequenos ajustes a serem feitos no seu código para calcular o Índice de Massa Corporal (IMC) corretamente. Vamos ver onde podemos melhorar:

  1. Fórmula do IMC: No seu código, a fórmula está incorreta. O cálculo correto do IMC é peso / (altura ** 2) e não peso / (altura * 2).

  2. Condições do elif: Há um pequeno erro na forma como as condições estão sendo verificadas. Quando você usa elif imc == 18.5 or imc <= 24.9, por exemplo, isso pode ser simplificado para elif 18.5 <= imc < 25. O mesmo se aplica para as outras condições.

Aqui está uma versão ajustada do seu código:

altura = float(input('Informe sua altura (em metros): '))
peso = float(input('Informe seu peso (em kg): '))

imc = peso / (altura ** 2)

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

if imc < 18.5:
    print('Muito Magro')
elif 18.5 <= imc < 25:
    print('Peso adequado')
elif 25 <= imc < 30:
    print('Sobre Peso')
elif 30 <= imc < 35:
    print('Obeso Grau I')
elif 35 <= imc < 40:
    print('Obeso Grau II')
else:
    print('Obeso Grau III ou Mórbido')

Com essas alterações, o seu programa deve calcular o IMC corretamente e fornecer as mensagens adequadas.

Espero ter ajudado e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!