Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Minha Solução de Calculando IMC

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Oi, Felipe! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Sua solução está muito bem organizada! Gostei bastante do uso de funções separadas, do tratamento de erro com try/except, e da clareza na lógica das faixas de IMC.

Uma dica interessante para o futuro é incluir o peso e a altura no resultado para deixar a análise mais completa. Veja abaixo uma versão com esse ajuste aplicado:


peso: float = float(input("Informe o peso em kg: "))
altura: float = float(input("Informe a altura em metros: "))

def imc(peso: float, altura: float) -> float:
    if peso <= 0 or altura <= 0:
        raise ValueError("Peso e altura devem ser positivos.")
    return peso / (altura ** 2)

def aviso_imc(imc: float) -> str:
    if imc < 18.5:
        return "Voce esta abaixo do peso"
    elif 18.5 <= imc < 25:
        return "Voce esta no peso normal"
    elif 25 <= imc < 30:
        return "Voce esta em Sobrepeso"
    elif 30 <= imc < 35:
        return "Voce esta em Obesidade grau 1"
    elif 35 <= imc < 40:
        return "Voce esta em Obesidade grau 2"
    else:
        return "Voce esta em Obesidade grau 3"

if __name__ == "__main__":
    try:
        imc_resultado = imc(peso, altura)
        print(f"Com {peso}kg e {altura}m, seu IMC e: {imc_resultado:.2f}")
        print(aviso_imc(imc_resultado))
    except ValueError as e:
        print(e)

Esse código deixa a mensagem mais informativa e continua bem estruturado!

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