https://github.com/s-shemmee/calories-calculator-python
Simple python script to calculate your Basal Metabolic Rate (BMR)! Find out how many calories you need per day to maintain your current weight.
https://github.com/s-shemmee/calories-calculator-python
bmr-calculator calorie-calculator calories-counter python
Last synced: 7 months ago
JSON representation
Simple python script to calculate your Basal Metabolic Rate (BMR)! Find out how many calories you need per day to maintain your current weight.
- Host: GitHub
- URL: https://github.com/s-shemmee/calories-calculator-python
- Owner: s-shemmee
- License: mit
- Created: 2022-09-18T13:27:03.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-19T12:34:50.000Z (about 3 years ago)
- Last Synced: 2025-01-23T00:16:38.087Z (9 months ago)
- Topics: bmr-calculator, calorie-calculator, calories-counter, python
- Language: Python
- Homepage:
- Size: 6.84 KB
- Stars: 13
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Calories Python Calculator
## Mifflin St. Guyer's equation
*The Mifflin-St Jeor formula, the most reliable and accurate equation, according to the systematic review published by the Journal of the Academy of Nutrition and Dietetics in 2005, this equation depends on a group of elements, namely; `Age`, `height`, and `weight`, in addition to `gender`, the mathematical formulas used to calculate the basal metabolic rate (`BMR`) for males and females, as follows:*
## Defining Main Function
```py
def main():
welcome()
gender = sex()
weight = get_weight()
height = get_height()
age = get_age()
rest_bmr = calculate_bmr(gender, weight, height, age)
total_calculation(rest_bmr)
```## Little introduction
```py
def welcome():
print("Welcome to your calories python calculator!\nFind out How many calories should you eat daily.\n")
```## Ask for user gender
```py
def sex():
sexes = ["male","female","M","F","f","m","Male","Female"]
while True:
sex = str(input("Do you identify as male or female? "))
while sex not in sexes:
sex = str(input("Please enter either 'male' or 'female' "))
else:
return sex
break
```## Get user weight in Kg
```py
def get_weight():
weight_kg = float(input("Enter your weight in kilograms: "))
while weight_kg <= 0:
weight_kg = float(input("Invalid input. Please enter your weight in kilograms: "))
else:
return weight_kg
```## Get user Height in Cm
```py
def get_height():
height_cm = float(input("Enter your height in Centimeters: "))
while height_cm <= 0:
height_cm = float(input("Invalid input. Please enter your height in Centimeters: "))
else:
return height_cm
```## Get user age in years
```py
def get_age():
age_yrs = int(input("Enter your age in years: "))
while age_yrs <= 0:
age_yrs = int(input("Invalid Input. Please enter your age in years: "))
else:
return age_yrs
```## BMR calculations for male or female
```py
def calculate_bmr(gender, weight, height, age):
male = ["male", "M" , "m", "Male"]
female = ["female", "F", "f", "Female"]
if gender == female:
women = (weight * 10) + (height * 6.25) - (age * 5) - 161
return int(women)
else:
men = (weight * 10) + (height * 6.25) - (age * 5) + 5
return int(men)
```## calculate total daily calories based on bmr and and activity level
```py
def total_calculation(rest_bmr):
user_activity_lvl = get_user_activity()maintain = {
"sedentary" : get_sedentary(rest_bmr),
"light" : get_light_activity(rest_bmr),
"moderate" : get_moderate_activity(rest_bmr),
"active" : get_very_active(rest_bmr)
}if user_activity_lvl == "sedentary":
print("You need to eat " + str(maintain["sedentary"]) + " calories a day to maintain your current weight")if user_activity_lvl == "light":
print("You need to eat " + str(maintain["light"]) + " calories a day to maintain your current weight")if user_activity_lvl == "moderate":
print("You need to eat " + str(maintain["moderate"]) + " calories a day to maintain your current weight")if user_activity_lvl == "active":
print("You need to eat " + str(maintain["active"]) + " calories a day to maintain your current weight")
```## Get user weekly activity levels
```py
def get_user_activity():
activity_lvl = ["sedentary", "light", "moderate", "active"]
while True:
user_lvl = str(input("\nWhat is your activity level?\n\nSedentary is little to no exercise.\nLightly active is light exercise/sports 1 - 3 days/week.\nModerately active is moderate exercise/sports 3 - 5 days/week.\nVery active is hard exercise every day, or 2 xs/day 6 - 7 days/week.\n\nPlease enter: 'sedentary', 'light', 'moderate', or 'active' "))
while user_lvl not in activity_lvl:
user_lvl = str(input( "Invalid input. Please enter: 'sedentary', 'light', 'moderate', or 'active' "))
else:
return user_lvl
break
```## Multiply resting BMR by Activity levels
```py
def get_sedentary(rest_bmr):
sedentary = rest_bmr * 1.25
return sedentarydef get_light_activity(rest_bmr):
light = rest_bmr * 1.375
return lightdef get_moderate_activity(rest_bmr):
moderate = rest_bmr * 1.550
return moderatedef get_very_active(rest_bmr):
active = rest_bmr * 1.725
return active
```## In Python `“if__name__== “__main__” `allows you to run the Python files either as reusable modules or standalone programs.
```py
if __name__ == '__main__':
main()
```