Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Calculando el IMC

''' Anna Júlia está creando un sistema para calcular el Índice de Masa Corporal (IMC) y
proporcionar recomendaciones básicas. El programa debe recibir el peso y la altura de una persona y
mostrar el valor del IMC, además de indicar si está por debajo del peso, con peso normal o por encima del peso.
Crea un programa que reciba el peso (en kg) y la altura (en metros) y calcule el IMC usando la fórmula:
IMC = peso / (altura ** 2)Luego, muestra el valor del IMC y un mensaje indicando si está por debajo del peso
(IMC < 18.5), peso normal (18.5 <= IMC < 25) o por encima del peso (IMC >= 25).

Salida esperada:
Digite su peso (kg): 60
Digite su altura (m): 1.65
Su IMC es: 22.04
Tienes un peso normal'''

peso = float(input('Digite su peso (kg): '))
altura = float(input('Digite su altura (m): '))

imc = peso / (altura ** 2)

if imc < 18.5:
print(f'Su IMC en: {imc}')
print('Tienes un peso por debajo del normal')

elif imc >= 18.5 and imc < 25:
print(f'Su IMC en: {imc}')
print('Tienes un peso normal')

else:
print(f'Su IMC en: {imc}')
print('Tienes un peso por encima del normal')

Digite su peso (kg): 60
Digite su altura (m): 1.65
Su IMC en: 22.03856749311295
Tienes un peso normal

1 respuesta

Hola, Anna Júlia. ¡Espero que estés bien!

Sugerencia: compartir tu proyecto en el canal #comparta-tu-codigo en el servidor ONE en Discord ;)

Tu código para calcular el Índice de Masa Corporal (IMC) parece estar casi correcto, pero hay un pequeño detalle que podrías ajustar para que la salida sea más precisa y se asemeje a la salida esperada. Actualmente, el valor del IMC que se imprime tiene muchos decimales, lo cual puede ser un poco confuso. Puedes redondear el valor del IMC a dos decimales para que sea más fácil de leer.

Aquí tienes cómo podrías ajustar tu código:

peso = float(input('Digite su peso (kg): '))
altura = float(input('Digite su altura (m): '))

imc = peso / (altura ** 2)

# Redondear el IMC a dos decimales
imc_redondeado = round(imc, 2)

if imc < 18.5:
    print(f'Su IMC es: {imc_redondeado}')
    print('Tienes un peso por debajo del normal')

elif imc >= 18.5 and imc < 25:
    print(f'Su IMC es: {imc_redondeado}')
    print('Tienes un peso normal')

else:
    print(f'Su IMC es: {imc_redondeado}')
    print('Tienes un peso por encima del normal')

Con este ajuste, el programa imprimirá el IMC redondeado a dos decimales, lo que debería coincidir mejor con la salida esperada que mencionaste. Espero que esto te ayude a completar tu proyecto de manera satisfactoria.

Espero haber ayudado y buenos estudios!