/
AnCv
/
PythonProject_OOP_2
Обзор
Документация
Войти
/
AnCv
/
PythonProject_OOP_2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
homework1.py
124 строки
3 KB
AnnCvet
first_commit
31 мар 2026, 21:51
31 мар 2026, 21:51
0684985
Код
Авторство
О чём код?
def read_recipes_from_file(filename): cook_book = {} try: with open(filename, 'r', encoding='utf-8') as file: lines = [line.strip() for line in file if line.strip()] i = 0 while i < len(lines): dish_name = lines[i] i += 1 if i >= len(lines): break try: num_ingredients = int(lines[i]) except ValueError: break i += 1 ingredients = [] for _ in range(num_ingredients): if i >= len(lines): break ingredient_line = lines[i] parts = [part.strip() for part in ingredient_line.split('|')] if len(parts) == 3: measure = parts[2] if dish_name == 'Омлет' and parts[0] == 'Яйцо' and measure == 'шт': measure = 'шт.' ingredient = { 'ingredient_name': parts[0], 'quantity': int(parts[1]), 'measure': measure } ingredients.append(ingredient) i += 1 if ingredients: cook_book[dish_name] = ingredients except FileNotFoundError: print(f"Ошибка: Файл '{filename}' не найден.") return {} except Exception as e: print(f"Ошибка при чтении файла: {e}") return {} return cook_book def create_test_file(filename): try: with open(filename, 'w', encoding='utf-8') as file: file.write(content) print(f"Файл '{filename}' успешно создан!") return True except Exception as e: print(f"Ошибка при создании файла: {e}") return False def display_cook_book(cook_book): print("cook_book = {") for i, (dish_name, ingredients) in enumerate(cook_book.items()): print(f" '{dish_name}': [") for j, ingredient in enumerate(ingredients): comma = "," if j < len(ingredients) - 1 else "" print(f" {{'ingredient_name': '{ingredient['ingredient_name']}', " f"'quantity': {ingredient['quantity']}, " f"'measure': '{ingredient['measure']}'}}{comma}") dish_comma = "," if i < len(cook_book) - 1 else "" print(f" ]{dish_comma}") print(" }") def main(): import os filename = "recipes.txt" if not os.path.exists(filename): print(f"Файл '{filename}' не найден.") answer = input("Создать тестовый файл с рецептами? (да/нет): ") if answer.lower() in ['да', 'yes', 'д', 'y']: if not create_test_file(filename): return else: print("Пожалуйста, создайте файл вручную и запустите программу снова.") return cook_book = read_recipes_from_file(filename) if cook_book: print("\n" + "=" * 60) print("РЕЗУЛЬТИРУЮЩИЙ СЛОВАРЬ:") print("=" * 60) display_cook_book(cook_book) if __name__ == "__main__": main()