/
remake_get
/
FILES_TASKS
Обзор
Документация
Войти
/
remake_get
/
FILES_TASKS
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
task2.py
43 строки
2 KB
remake_get
upload files
29 мар 2025, 19:59
29 мар 2025, 19:59
150da80
Код
Авторство
О чём код?
import pprint cook_book = {} with open('recipes.txt') as f: while True: dish_name = f.readline().strip() if not dish_name: break ingredient_quantity = f.readline().strip() ingredients = [] while True: ingredient_line = f.readline().strip() if not ingredient_line: break ingredient_name, quantity, measure = ingredient_line.split('| ') ingredients.append({ 'ingredient_': ingredient_name, 'quantity': int(quantity), 'measure': measure }) cook_book[dish_name] = ingredients def get_shop_list_by_dishes(dishes, person_count): #создаем новый словарь new_dict = {} #перебираем блюда из списка dishes for dish in dishes: #если блюдо есть в кулинарной книге, то продолжаем цикл if dish in cook_book: ingredients = cook_book[dish] # перебираем каждый игредиент с записью в новый словарь его имени, единицы измерения и количества for ingredient in ingredients: ingredient_name = ingredient['ingredient_'].strip() if ingredient_name not in new_dict: new_dict[ingredient_name] = {'measure': ingredient['measure'], 'quantity': ingredient['quantity'] * person_count} else: new_dict[ingredient_name]['quantity'] += ingredient['quantity'] * person_count return new_dict result = get_shop_list_by_dishes(cook_book, 3) pprint.pprint(result)