Formulario de contacto

 

Calculadora de Índice de masa corporal con Python

En el instituto me dejaron como actividad desarrollar un programa en Python que calcule el IMC de una persona, es decir el índice de masa corporal. Como todos saben, en internet debe haber muchas maneras de hacer eso, sin embargo decidí ponerme a prueba y crear yo mismo el código, sin hacer copia y pega y a mi estilo. A continuación se los muestro, comentado para que sea más entendible:


def pedirInfo():#CREAMOS UNA FUNCIÓN QUE PIDA LOS DATOS QUE NECESITAMOS(PESO Y ALTURA)
    try:#USAMOS try Y except para el control de errores.
        peso=float(input("Ingrese su peso en Kg: "))
        altura=int(input("Ingrese su altura en centimetros: "))
        info=(peso,altura)
        return(list(info))
    except:
        return(print("Error, ingrese solo números"))#ESTE ERROR SALTARÁ SI NO INGRESAMOS NÚMEROS.

def Calcular():
    try:
        while(True):#CREAMOS UN BUCLE PARA QUE SE EJECUTE HASTA QUE SE INGRESEN DATOS CORRECTOS!
            lainformacion=pedirInfo()#RECIBIMOS LOS DATOS CAPTURADOS POR LA FUNCIÓN "perdiInfo()"
            elpeso=lainformacion[0]#Primer dato
            altura_metros=lainformacion[1]/100#segundo dato y aquí dividmos para obtener m²
            if elpeso and altura_metros!=0:#VALIDAMOS QUE NO SE INGRESEN "0"
                imc=round(elpeso/(pow(altura_metros,2)),2)#FORMULARA PARA SACAR EL IMC
                estado=""
                if imc<18.5:#DESDE AQUÍ EVALUAMOS EL ESTADO...
                	estado="Bajo de peso"
                elif imc>18.4 and imc<25:
                	estado="Normal"
                elif imc>24.9 and imc<30:
                  	estado="Sobrepeso"
                elif imc>29.9:
                    estado="Obesidad"     
                return(print("Su IMC es %",imc,"y su estado es",estado))#RETORNAMOS RESULTADOS!       
            else:
                print("Error nadie pesa ni mide 0")
                
    except:
        Calcular()#Si hay algun error ejecutamos de nuevo la función.
Calcular()

El código esta muy sencillo y lo dividí en dos funciones, una llamada "pedirInfo()"con la que almacenamos los datos necesarios, mientras  que con la función "Calcular()" procesamos esos datos. Adicional a ello hacemos uso del metodo round para el redondeo. Aquí los resultados de la ejecución.

Si el usuario ingresa todo correcto:



Si el usuario ingresa solo "0":


Cuando el usuario ingresa letras en ves de números:

Gracias, espero les sirva, si quieren el archivo .py avisan por comentario.

Total comment

Author

peloncarlospe@gmail.com

0   comentarios

Cancel Reply