2
respostas

Minha solução - Calculando IMC

def calculando_imc(peso, altura):
    imc = peso / (altura ** 2)
    if imc < 18.5:
        print(f'Seu IMC é: {imc:.2f}\n Você está abaixo do peso.')
    elif 18.5 <= imc < 25:
        print(f'Seu IMC é: {imc:.2f}\n Seu peso está normal')
    else:
        print(f'Seu IMC é: {imc:.2f}\n Você está acima do peso')

peso = float(input("Digite seu peso (kg): "))
altura = float(input("Digite sua altura (m): "))
calculando_imc(peso, altura)
2 respostas

Opa Douglas! Joia? Primeiramente, parabéns pelo código mano! Se me permitir uma dica em relação as suas condicionais:

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

Nessa parte, pode fazer mais sentido fazer assim:

if imc < 18.5:
    print(f'Seu IMC é: {imc:.2f}\n Você está abaixo do peso.')
elif imc < 25:
    print(f'Seu IMC é: {imc:.2f}\n Seu peso está normal')

Afinal, se o IMC saiu do primeiro laço condicional e chegou no elif, é porque ele obrigatoriamente é maior do que 18.5. Logo, não precisa re-validar se ele é maior ou igual do que 18.5. Basta assumir que deve ser menor que 25.
Não está errado principalmente em algoritmos menores, mas pode ajudar a reduzir redundância no código. E cultivar essa prática é interessante!
No mais, parabéns mano! Bora!!

Opa, e aí Pinheiro!
É verdade! só agora que você disse eu percebi que não precisava dessa validação "18.5 <= imc"

Muito obrigado por apontar esse detalhe! Vou ficar mais atento daqui em diante