/
stahilb
/
OOP_Task_2_FileSystem
Обзор
Документация
Войти
/
stahilb
/
OOP_Task_2_FileSystem
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
task2.py
53 строки
1 KB
StahilB
Complete task
30 май 2026, 22:50
30 май 2026, 22:50
0b82706
Код
Авторство
О чём код?
from pprint import pprint cook_book = {} with open('recipes.txt', 'r', encoding='utf-8') as file: while True: dish_name = file.readline().strip() if not dish_name: break ingredients_count = int(file.readline().strip()) ingredients = [] for _ in range(ingredients_count): ingredient_line = file.readline().strip() ingredient_name, quantity, measure = ingredient_line.split(' | ') ingredients.append({ 'ingredient_name': ingredient_name, 'quantity': int(quantity), 'measure': measure }) cook_book[dish_name] = ingredients file.readline() def get_shop_list_by_dishes(dishes, person_count): shop_list = {} for dish in dishes: ingredients = cook_book[dish] for ingredient in ingredients: ingredient_name = ingredient['ingredient_name'] measure = ingredient['measure'] quantity = ingredient['quantity'] * person_count if ingredient_name in shop_list: shop_list[ingredient_name]['quantity'] += quantity else: shop_list[ingredient_name] = { 'measure': measure, 'quantity': quantity } return shop_list pprint(get_shop_list_by_dishes(['Запеченный картофель', 'Омлет'], 2), sort_dicts=False)