Skip to content
Portfolio Project 4 - Building a Calorie Intake Calculator
As a Software Engineer in a Health and Leisure company, your task is to add a new feature to the app: a calorie and nutrition calculator. This tool will calculate and display total calories, sugars, fats, and other nutritional values for different foods based on user input.
You have been provided with the nutrition.json dataset, which contains the necessary nutritional information for various foods. Each value in the dataset is per 100 grams of the food item. The dataset has already been read and loaded for you as the dictionary nutrition_dict.
Dataset Summary
nutrition.json
| Column | Description |
|---|---|
food | The name of the food. |
calories | The amount of energy provided by the food, measured in kilocalories (kcal) per 100 grams. |
total_fat | The total fat content in grams per 100 grams. |
protein | The protein content in grams per 100 grams. |
carbohydrate | The total carbohydrate content in grams per 100 grams. |
sugars | The amount of sugars in grams per 100 grams. |
Let's Get Started!
This project is a great opportunity to build a real-world feature from scratch, showcasing your development skills and making a meaningful impact on users' health and wellness.
import json # Import the json module to work with JSON files
# Load the JSON content into a dictionary
with open('nutrition.json', 'r') as json_file:
nutrition_dict = json.load(json_file)
# Display the first 3 items of the nutrition dictionary
first_three_items = list(nutrition_dict.items())[:3]
print(first_three_items)
# Create a dictionary to keep track of totals
def nutritional_summary(foods):
result_dict = {
"calories": 0,
"total_fat": 0,
"protein": 0,
"carbohydrate": 0,
"sugars": 0
}
# Loop through each food item
for food, grams in foods.items():
if food not in nutrition_dict:
return food
# Calculate nutritional values for food items
nutrition_values = nutrition_dict[food]
factor = grams / 100
# Add these nutritional values to the totals
result_dict["calories"] += nutrition_values["calories"] * factor
result_dict["total_fat"] += nutrition_values["total_fat"] * factor
result_dict["protein"] += nutrition_values["protein"] * factor
result_dict["carbohydrate"] += nutrition_values["carbohydrate"] * factor
result_dict["sugars"] += nutrition_values["sugars"] * factor
# Return the totals
return result_dict