Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

2
respostas

[Resolução] Calculando o IMC

try:
    peso = float(input("Digite seu peso (kg): "))
    altura = float(input("Digite sua altura (m): "))

    if peso < 0 or altura < 0:
        print("Erro: Peso e altura devem ser valores positivos.")
    
    imc = peso / (altura ** 2)
    print(f"Seu IMC é: {imc}")
    
    if imc < 18.5:
        print("Você está abaixo do peso.")
    elif 18.5 <= imc < 25:
        print("Você está no peso normal.")
    else:
        print("Você está acima do peso.")
        
except ValueError:
    print("Erro: Os valores de peso e altura devem ser números positivos.")

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas

Olá, Vivian, como vai?

Seu código está funcional e cumpre bem o objetivo do exercício. A lógica das condicionais está adequada e o cálculo do IMC está correto. Apenas vale observar que, quando os valores são negativos, o programa ainda prossegue com o cálculo, já que após a mensagem de erro não há interrupção do fluxo. Caso você deseje evitar isso, pode inserir um quit() logo após o aviso, garantindo que o cálculo não continue com dados inválidos.

Continue compartilhando seus exercícios. O fórum está à disposição.

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

Obrigada pela correção Mike!
Adicionei a interrupção da execução em caso de números negativos.


import sys
try:
    peso = float(input("Digite seu peso (kg): "))
    altura = float(input("Digite sua altura (m): "))

    if peso < 0 or altura < 0:
        print("Erro: Peso e altura devem ser valores positivos.")
        sys.exit()
    imc = peso / (altura ** 2)
    print(f"Seu IMC é: {imc}")
    
    if imc < 18.5:
        print("Você está abaixo do peso.")
    elif 18.5 <= imc < 25:
        print("Você está no peso normal.")
    else:
        print("Você está acima do peso.")
        
except ValueError:
    print("Erro: Os valores de peso e altura devem ser números positivos.")