1
resposta

[Projeto] Cálculo IMC

Sei que o exercício nem pede isso, mas tentei mostrar mais detalhadamente a faixa do IMC e incluir mais validações.

def calcular_imc(peso: float, altura: float):
    if altura <= 0 or peso <= 0:
        return None
    return peso / (altura ** 2)

def obter_classificacao_imc(imc: float):
    if imc < 18.5:
        return 'Você está abaixo do peso.'
    elif imc < 25.0:
        return 'Você está com o peso normal.'
    elif imc < 30.0:
        return 'Você está com sobrepeso.'
    elif imc < 35.0:
        return 'Você está com obesidade grau I.'
    elif imc < 40.0:
        return 'Você está com obesidade grau II.'
    else:
        return 'Você está com obesidade grau III.'

def main():
    try:
        peso_usuario = float(input('Digite seu peso (kg): '))
        altura_usuario = float(input('Digite sua altura (m): '))

        imc_calculado = calcular_imc(peso_usuario, altura_usuario)

        if imc_calculado is not None:
            classificacao = obter_classificacao_imc(imc_calculado)

            print(f'Seu IMC é: {imc_calculado:.2f}')
            print(classificacao)
        else:
            print('Erro: Peso e altura devem ser valores positivos.')

    except ValueError:
        print('Erro: Por favor, insira apenas valores numéricos para peso e altura.')

if __name__ == '__main__':
    main()
1 resposta

Boa tarde, Pedro! Tudo bem?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções separadas para organizar a lógica do cálculo e da classificação do IMC, utilizou muito bem o tratamento de erros com try except para garantir a robustez da entrada de dados e ainda compreendeu a importância do retorno condicional com None para lidar com valores inválidos de forma segura e clara.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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