/
t.palaeva
/
openFile
Обзор
Документация
Войти
/
t.palaeva
/
openFile
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
python/open_file/Receptes.py
39 строк
2 KB
Palaeva T.V.
Решение задания по работе с файлами
26 июл 2026, 16:21
26 июл 2026, 16:21
42fd98a
Код
Авторство
О чём код?
def cook_book(): with open('recipes.txt', encoding="utf-8") as f: recipes_list = f.read().split('\n\n') recipe_book = {} for recipe in recipes_list: lines = recipe.strip().split('\n') recipe_name = lines[0].strip() count_ingredients = int(lines[1].strip()) ingredients = [] for i in range(2, 2 + count_ingredients): ingredient = lines[i].strip().split('|') ingredients.append({'ingredient_name': ingredient[0].strip(), 'quantity': int(ingredient[1].strip()), 'measure': ingredient[2].strip()}) recipe_book[recipe_name] = ingredients return recipe_book def get_shop_list_by_dishes(dishes, person_count): recipe_book = cook_book() ingredients_for_order = {} for dish in dishes: for ingredient in recipe_book[dish]: ingredient_name = ingredient['ingredient_name'] quantity = ingredient['quantity'] measure = ingredient['measure'] if ingredient_name in ingredients_for_order: ingredients_for_order[ingredient_name]['quantity'] += person_count * quantity else: ingredients_for_order[ingredient_name] = {'measure': measure, 'quantity': person_count * quantity} return ingredients_for_order if __name__ == '__main__': print(cook_book()) print(get_shop_list_by_dishes(['Запеченный картофель', 'Омлет'], 2))