2
respostas

[Sugestão] Calculando o IMC

proposta de solução do exercicício:

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

imc = peso / (altura ** 2)

if imc < 18.5:
    print(f'Seu IMC é: {imc:.2f} \nVocê está abaixo do peso.')
elif 18.5 <= imc < 25:
    print(f'Seu IMC é: {imc:.2f} \nVocê está com peso normal.')
else:
    print(f'Seu IMC é: {imc:.2f} \nVocê está acima do peso.')
2 respostas

Oii, Rodrigo!

Parabéns por compartilhar sua proposta de solução para o desafio do IMC. Ficou muito nítido como você se preocupou em entregar um resultado que não apenas calcula o valor, mas também interpreta o dado para quem está usando o sistema.

A sua lógica utilizando as estruturas if, elif e else tá excelente e trata as principais faixas de classificação de forma direta e objetiva. O uso da formatação :.2f pra limitar as casas decimais demonstra um ótimo cuidado com a exibição da informação, o que traz clareza para o resultado final. Outro ponto positivo é a forma como você encadeou as comparações no elif, o que é uma característica muito elegante do Python.

Na sua visão, você acredita que seria interessante para o usuário que o sistema também informasse qual seria o "peso ideal" para a altura dele, ou o foco na classificação atual já é o suficiente?

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

Olá Lorena Garcia!

Obrigado pelo feedback! Poderia ser implementado informar o peso ideal. o código ficaria assim:

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

imc = peso / (altura ** 2)

if imc < 18.5:
print(f'Seu IMC é: {imc:.2f} \nVocê está abaixo do peso.')
elif 18.5 <= imc < 25:
print(f'Seu IMC é: {imc:.2f} \nVocê está com peso normal.')
else:
print(f'Seu IMC é: {imc:.2f} \nVocê está acima do peso.')

peso_ideal_minimo = 18.5 * (altura ** 2 )
peso_ideal_maximo = 24.9 * (altura ** 2 )
print(f'Seu peso ideal é entre {peso_ideal_minimo:.2f} kg e {peso_ideal_maximo:.2f} kg')