CodeNewbie Community

loading...
Cover image for How to build a BMI Calculator in Python

How to build a BMI Calculator in Python

Rishabh Singh ⚡
LIVE + LOVE + CMSFT Student Ambassador | 🎯 Community Leader | 🐍 Pythonista | 🎨 Graphics Designer | 👨‍🏫 Teacher | 🐶 Dog LoverODE!
・3 min read

Hola folks! Today we will build a simple BMI Calculator in Python.

How does it work?

Alt Text

A BMI Calculator will take in the height and weight of the individual and will calculate the BMI of the person.

Body mass index (BMI) is a measure of body fat based on height and weight.

Based on the BMI of the individual, it will print a statement stating the overall health of the person.

Let's start coding our project!

Let's Code

Alright, so the first thing we need to do is to ask the user their height & weight. This can be easily achieved through input() function.

height = float(input("Enter your height in cm: "))
weight = float(input("Enter your weight in kg: "))
Enter fullscreen mode Exit fullscreen mode

We will convert the input string to float so that we can perform calculations with it.

Next up, we have to calculate the BMI.

The formula to calculate BMI is $weight (kg)/{height (m)}^2$. Let's implement this formula in python.

BMI = weight / (height/100)**2
Enter fullscreen mode Exit fullscreen mode

Here we will be dividing the height by 100 to convert the centimetres into meters.

Now let's print out the BMI.

print(f"You BMI is {BMI}")
Enter fullscreen mode Exit fullscreen mode

Now we have to print a statement to state the current health of the user based on their BMI.

Here is how BMI is classified:

https://miro.medium.com/max/960/1*S2aR2zRzjiV2IVK6DUMNhw.jpeg

We are going to simplify it a bit, so make it easier to understand but feel free to stick to this classification if you prefer.

We will be using if conditionals for classification.

if BMI <= 18.4:
    print("You are underweight.")
elif BMI <= 24.9:
    print("You are healthy.")
elif BMI <= 29.9:
    print("You are over weight.")
elif BMI <= 34.9:
    print("You are severely over weight.")
elif BMI <= 39.9:
    print("You are obese.")
else:
    print("You are severely obese.")
Enter fullscreen mode Exit fullscreen mode

Here's what it will print:

  • if BMI is less than or equal to 18.4 then You are underweight. will be printed.
  • if BMI is less than or equal to 24.9 then You are healthy. will be printed.
  • if BMI is less than or equal to 29.9 then You are over weight. will be printed.
  • if BMI is less than or equal to 34.9 then You are severely over weight. will be printed.
  • if BMI is less than or equal to 39.9 then You are obese. will be printed.
  • if BMI none of the above are true then You are severely obese. will be printed.

That's it! We are done! Easy Peasy right!

Source Code

You can find the complete source code of this project here -

mindninjaX/Python-Projects-for-Beginners

Support

Thank you so much for reading! I hope you found this beginner project useful.

If you like my work please consider Buying me a Coffee so that I can bring more projects, more articles for you.

https://dev-to-uploads.s3.amazonaws.com/i/5irx7eny4412etlwnc64.png

Also if you have any questions or doubts feel free to contact me on Twitter, LinkedIn & GitHub. Or you can also post a comment/discussion & I will try my best to help you :D

Discussion (0)