/
luvpython
/
homework-file
Обзор
Документация
Войти
/
luvpython
/
homework-file
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Task 2.py
50 строк
2 KB
MAXIM
first_commit
23 апр 2026, 20:30
23 апр 2026, 20:30
9f6bb8d
Код
Авторство
О чём код?
def get_shop_list_by_dishes(dishes, person_count, cook_book): shop_list = {} # создаём пустой словарь для результата for dish in dishes: # перебираем каждое блюдо из списка if dish not in cook_book: # если такого блюда нет в книге — пропускаем continue ingredients = cook_book[dish] # берём список ингредиентов этого блюда for ing in ingredients: # перебираем каждый ингредиент name = ing['ingredient_name'] # имя ингредиента measure = ing['measure'] # единица измерения quantity_per_person = ing['quantity'] # количество на 1 персону total_quantity = quantity_per_person * person_count # умножаем на число персон # Проверяем, есть ли уже такой ингредиент в списке покупок if name in shop_list: shop_list[name]['quantity'] += total_quantity # добавляем к существующему количеству else: # Если ингредиента ещё нет — создаём новую запись shop_list[name] = { 'measure': measure, 'quantity': total_quantity } return shop_list # === Запуск программы === if __name__ == '__main__': # Для теста создадим пример cook_book (как в задаче №1) 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(['Запеченный картофель', 'Омлет'], 2, cook_book) # Выводим результат print(result)