pizza = {'мука, кг': 1,
'помидоры, кг': 1.5,
'шампиньоны, кг': 1.5,
'сыр, кг': 0.8,
'оливковое масло, л': 0.1,
'дрожжи, г': 50}
salad = {'огурцы, кг': 1,
'перцы, кг': 1,
'помидоры, кг': 1.5,
'оливковое масло, л': 0.1,
'листья салата, кг': 0.4}
def print_shopping_list(recipe1, recipe2):
recipe_set = set(recipe1)
general_recipe_set = recipe_set.union(recipe2.keys())
for ingr in general_recipe_set:
if ingr in recipe1.keys() and recipe2.keys():
result = recipe1[ingr] + recipe2[ingr]
print(result)
def print_shopping_list(*recipes):
res = {}
for recipe in recipes:
for k, v in recipe.items():
res[k] = res.get(k, 0.) + v
for k, v in res.items():
print(f'{k}: {v}')
print('------------------------------')
print_shopping_list(pizza, salad)
print_shopping_list(pizza, pizza, pizza)
from collections import defaultdict
import itertools
def combine_recipes(*recipes):
combined_recipe = defaultdict(float)
for ingridient, amount in itertools.chain.from_iterable(map(dict.items, recipes)):
combined_recipe[ingridient] += amount
return combined_recipe
from collections import defaultdict
def combine_recipes(*recipes):
combined_recipe = defaultdict(float)
for recipe in recipes:
for ingridient, amount in recipe.items():
combined_recipe[ingridient] += amount
return combined_recipe
def print_shopping_list(recept1, recept2):
songs1 = set(recept1)
son = songs1.union(set (recept2))
for i in son:
if i in recept1 and i in recept2:
res = recept1[i] + recept2[i]
print (i + ': ' + str(res))
elif i in recept1:
print(i + ': ' + str(recept1[i]))
else:
print (str(i) + ': ' + str (recept2[i]))
pizza = {'мука, кг': 1,
'помидоры, кг': 1.5,
'шампиньоны, кг': 1.5,
'сыр, кг': 0.8,
'оливковое масло, л': 0.1,
'дрожжи, г': 50}
salad = {'огурцы, кг': 1,
'перцы, кг': 1,
'помидоры, кг': 1.5,
'оливковое масло, л': 0.1,
'листья салата, кг': 0.4}
print_shopping_list(pizza, salad)
>>> pizza,salad = {'мука, кг': 1,
'помидоры, кг': 1.5,
'шампиньоны, кг': 1.5,
'сыр, кг': 0.8,
'оливковое масло, л': 0.1,
'дрожжи, г': 50},{'огурцы, кг': 1,
'перцы, кг': 1,
'помидоры, кг': 1.5,
'оливковое масло, л': 0.1,
'листья салата, кг': 0.4}
>>> def summ(a,b):
c= {}
for k in list(a.keys())+list(b.keys()):
if k in b:c[k] = b[k]
if k not in c: c[k] = 0
if k in a:c[k] += a[k]
return c
>>> summ(pizza,salad)
{'мука, кг': 1, 'помидоры, кг': 3.0, 'шампиньоны, кг': 1.5, 'сыр, кг': 0.8, 'оливковое масло, л': 0.2, 'дрожжи, г': 50, 'огурцы, кг': 1, 'перцы, кг': 1, 'листья салата, кг': 0.4}
>>> s = {}
>>> s = summ(s,pizza)
>>> s = summ(s,salad)
>>> s
{'мука, кг': 1, 'помидоры, кг': 3.0, 'шампиньоны, кг': 1.5, 'сыр, кг': 0.8, 'оливковое масло, л': 0.2, 'дрожжи, г': 50, 'огурцы, кг': 1, 'перцы, кг': 1, 'листья салата, кг': 0.4}
>>>
list(a.keys())+list(b.keys())
экивалентно set(a).union(set(b))
def print_shopping_list(dish1, dish2):
x = set(dish1)
y = set(dish2)
unique_ingredients = x.union(y)
for i in unique_ingredients:
amount = 0
if i in dish1.keys():
amount += dish1[i]
if i in dish2.keys():
amount += dish2[i]
print(i + ':', amount)
pizza = {'мука, кг': 1,
'помидоры, кг': 1.5,
'шампиньоны, кг': 1.5,
'сыр, кг': 0.8,
'оливковое масло, л': 0.1,
'дрожжи, г': 50}
salad = {'огурцы, кг': 1,
'перцы, кг': 1,
'помидоры, кг': 1.5,
'оливковое масло, л': 0.1,
'листья салата, кг': 0.4}
print_shopping_list(pizza, salad)