Created
July 19, 2021 14:41
-
-
Save janaki-sasidhar/95990d167dd066a8e37c68ba9275bf36 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from typing import List | |
class Food: | |
def __init__(self,name:str , | |
proteins : int , | |
fat : int , | |
carbohydrates:int, | |
energy : int = 0, | |
status : str =None): | |
self.name = name | |
self.proteins = proteins | |
self.fat = fat | |
self.carbohydrates = carbohydrates | |
self.energy = energy | |
self.status = status | |
class Nutrition: | |
def __init__(self,energydict : dict , foodlist : list): | |
self.energydict = energydict | |
self.foodlist = foodlist | |
def setEnergy(self) -> None: | |
for food_item in self.foodlist: | |
food_item.energy = food_item.fat + food_item.proteins + food_item.carbohydrates | |
for key,value in self.energydict.items(): | |
a , b = value | |
if food_item.energy >= a and food_item.energy<= b: | |
food_item.status = key | |
def getEnergyRichFood(self,energy_number): | |
temp = [] | |
for food_item in self.foodlist: | |
if food_item.energy <= energy_number: | |
temp.append(food_item) | |
if temp: | |
return temp | |
else: | |
return None | |
if __name__ == '__main__': | |
number_of_items = int(input()) | |
food_items_list = [] | |
for food_item in range(number_of_items): | |
name = input() | |
proteins = float(input()) | |
fat = float(input()) | |
carbohydrates =float(input()) | |
food_object : Food = Food(name , proteins , fat , carbohydrates) | |
food_items_list.append(food_object) | |
number_of_key_value_pairs = int(input()) | |
temp_dict = dict() | |
for kv_pair in range(number_of_key_value_pairs): | |
name = input() | |
lower = float(input()) | |
upper = float(input()) | |
temp_dict[name] = (lower,upper) | |
energy_number = float(input()) | |
nutrition_object = Nutrition(temp_dict,food_items_list) | |
nutrition_object.setEnergy() | |
print('Energy of Food:') | |
for food_item in food_items_list: | |
print(f'{food_item.name}-{food_item.energy}-{food_item.status}') | |
get_from_nutrition_method = nutrition_object.getEnergyRichFood(energy_number) | |
print('Food within given criteria') | |
if get_from_nutrition_method: | |
for item in get_from_nutrition_method: | |
print(f'{item.name}:{item.energy}') | |
else: | |
pass | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment