/
valek
/
homework-files
Обзор
Документация
Войти
/
valek
/
homework-files
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
task2.py
40 строк
2 KB
valek
create task2.py
19 ноя 2025, 20:52
19 ноя 2025, 20:52
6382e7f
Код
Авторство
О чём код?
from pprint import pprint cook_book = {} with open("text.txt", "r", encoding="utf-8") as f: while True: dish_name = f.readline().strip() if not dish_name: break ingredient_count = int(f.readline().strip()) ingredients = [] for _ in range(ingredient_count): ingredient_data = f.readline().strip().split(" | ") ingredient = { "ingredient_name": ingredient_data[0], "quantity": int(ingredient_data[1]), "measure": ingredient_data[2], } ingredients.append(ingredient) f.readline() cook_book[dish_name] = ingredients pprint(cook_book) def get_shop_list_by_dishes(dishes, person_count): shop_list = {} for dish in dishes: if dish in cook_book: for ingredient in cook_book[dish]: ingredient_name = ingredient['ingredient_name'] quantity = ingredient['quantity'] * person_count measure = ingredient['measure'] if ingredient_name not in shop_list: shop_list[ingredient_name] = {'measure': measure, 'quantity': quantity} else: shop_list[ingredient_name]['quantity'] += quantity return shop_list shop_list = get_shop_list_by_dishes(['Запеченный картофель', 'Омлет', 'Фахитос', 'Утка по-пекински'], 2) print("-----------------------------------------------") pprint(shop_list)