/
dashaka
/
homework
Обзор
Документация
Войти
/
dashaka
/
homework
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
task2.py
48 строк
2 KB
Dasha
https://gitverse.ru/dashaka/homework.git
16 авг 2025, 22:40
16 авг 2025, 22:40
9fc0b29
Код
Авторство
О чём код?
def get_shop_list_by_dishes(dishes, person_count, cook_book): shop_list = {} # итоговый словарь для покупок # Проходим по каждому блюду из списка for dish in dishes: if dish in cook_book: # если блюдо есть в cook_book ingredients = cook_book[dish] # Проходим по каждому ингредиенту блюда for ing in ingredients: name = ing['ingredient_name'] measure = ing['measure'] quantity = ing['quantity'] * person_count # умножаем на число персон # Если ингредиент уже есть в итоговом списке - добавляем количество if name in shop_list: shop_list[name]['quantity'] += quantity else: # Иначе создаём новую запись shop_list[name] = {'measure': measure, 'quantity': quantity} else: print(f'Внимание! Рецепт блюда "{dish}" не найден в cook_book.') return shop_list # Пример использования: if __name__== '__main__': # Пример cook_book, можно использовать свою переменную 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': 'г'} ] } dishes = ['Запеченный картофель', 'Омлет'] person_count = 2 shopping_list = get_shop_list_by_dishes(dishes, person_count, cook_book) import pprint pprint.pprint(shopping_list)