Hola folks! Today we will build a simple BMI Calculator in Python.
How does it work?
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: "))
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
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}")
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:
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.")
Here's what it will print:
- if BMI is
less than or equal to 18.4
thenYou are underweight.
will be printed. - if BMI is
less than or equal to 24.9
thenYou are healthy.
will be printed. - if BMI is
less than or equal to 29.9
thenYou are over weight.
will be printed. - if BMI is
less than or equal to 34.9
thenYou are severely over weight.
will be printed. - if BMI is
less than or equal to 39.9
thenYou 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.
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
Top comments (6)
Great project for a beginner like me. Thank you! I just have one problem, when I try this, it tells me:
BMI = (height * weight)
TypeError: can't multiply sequence by non-int of type 'str'
Any idea what might fix this?
when you input something python automaticly see it as a string. Make sure you put float in front of height and weight formula.
weight = float(input("Enter your weight in cm: "))
height = float(input("Enter your height in cm: "))
Also I think that BMI = (height * weight) is wrong. It should be
BMI = weight_kg / (height_cm/100)**2
Tryspacng_hyhyjhjjb**uujujyyy
HOW TO ELIMINATE THIS ERROR Cell not executed due to pending input..The cell has not been executed to avoid kernel deadlock as there is another pending input! Submit your pending input and try again.
Hey if you can see this can you add how to break while loop here because my task is to enter"0" to end the program or break the loop
Some comments may only be visible to logged-in visitors. Sign in to view all comments.