/
GitRu
/
exercise
Обзор
Документация
Войти
/
GitRu
/
exercise
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
exercise_2/exercise_2.py
51 строка
2 KB
Neto test
First commit
04 июл 2025, 23:51
04 июл 2025, 23:51
e258398
Код
Авторство
О чём код?
def get_shop_list_by_dishes(cook_book, dishes, person_count): shop_list = {} for dish in dishes: if dish not in cook_book: print(f' Блюдо "{dish}" не найдено в книге рецептов.') continue for ingredient in cook_book[dish]: name = ingredient['ingredient_name'] measure = ingredient['measure'] quantity = ingredient['quantity'] * person_count if name not in shop_list: shop_list[name] = {'measure': measure, 'quantity': quantity} else: shop_list[name]['quantity'] += quantity return shop_list # Пример использования cook_book = { 'Омлет': [ {'ingredient_name': 'Яйцо', 'quantity': 2, 'measure': 'шт'}, {'ingredient_name': 'Молоко', 'quantity': 100, 'measure': 'мл'}, {'ingredient_name': 'Помидор', 'quantity': 2, 'measure': 'шт'} ], 'Запеченный картофель': [ {'ingredient_name': 'Картофель', 'quantity': 1, 'measure': 'кг'}, {'ingredient_name': 'Чеснок', 'quantity': 3, 'measure': 'зубч'}, {'ingredient_name': 'Сыр гауда', 'quantity': 100, 'measure': 'г'} ] } result = get_shop_list_by_dishes(cook_book, ['Запеченный картофель', 'Омлет'], 2) import pprint pprint.pprint(result) # Результат {'Картофель': {'measure': 'кг', 'quantity': 2}, 'Молоко': {'measure': 'мл', 'quantity': 200}, 'Помидор': {'measure': 'шт', 'quantity': 4}, 'Сыр гауда': {'measure': 'г', 'quantity': 200}, 'Яйцо': {'measure': 'шт', 'quantity': 4}, 'Чеснок': {'measure': 'зубч', 'quantity': 6}}