From 922bb8d3ecd5e20c6e77b4fe0b3ecab5d49d13d9 Mon Sep 17 00:00:00 2001 From: HeavyRain6647 Date: Fri, 31 Oct 2025 20:29:01 +0300 Subject: [PATCH 1/2] Update main.py --- main.py | 54 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/main.py b/main.py index d3e0a17..25d737e 100644 --- a/main.py +++ b/main.py @@ -1,57 +1,63 @@ class BooksCollector: - def __init__(self): - self.books_genre = {} - self.favorites = [] + self.books_genre = {} # словарь: название → жанр + self.favorites = [] # список избранных книг self.genre = ['Фантастика', 'Ужасы', 'Детективы', 'Мультфильмы', 'Комедии'] - self.genre_age_rating = ['Ужасы', 'Детективы'] + self.genre_age_rating = ['Ужасы', 'Детективы'] # жанры с возрастным ограничением - # добавляем новую книгу + # Добавляем новую книгу (без жанра) def add_new_book(self, name): if not self.books_genre.get(name) and 0 < len(name) < 41: self.books_genre[name] = '' - # устанавливаем книге жанр + # Устанавливаем жанр книги (отдельная операция) def set_book_genre(self, name, genre): if name in self.books_genre and genre in self.genre: self.books_genre[name] = genre - # получаем жанр книги по её имени + + # Получаем жанр книги по названию def get_book_genre(self, name): - return self.books_genre.get(name) + return self.books_genre.get(name, None) # None, если книги нет + - # выводим список книг с определённым жанром + # Список книг заданного жанра def get_books_with_specific_genre(self, genre): - books_with_specific_genre = [] - if self.books_genre and genre in self.genre: + books = [] + if genre in self.genre: for name, book_genre in self.books_genre.items(): if book_genre == genre: - books_with_specific_genre.append(name) - return books_with_specific_genre + books.append(name) + return books - # получаем словарь books_genre + # Возвращаем полный словарь книг с жанрами def get_books_genre(self): return self.books_genre - # возвращаем книги, подходящие детям + + # Книги, подходящие для детей (не в genre_age_rating) def get_books_for_children(self): - books_for_children = [] + books = [] for name, genre in self.books_genre.items(): if genre not in self.genre_age_rating and genre in self.genre: - books_for_children.append(name) - return books_for_children + books.append(name) + return books - # добавляем книгу в Избранное + # Добавляем книгу в Избранное def add_book_in_favorites(self, name): - if name in self.books_genre: - if name not in self.favorites: - self.favorites.append(name) + if name in self.books_genre and name not in self.favorites: + self.favorites.append(name) - # удаляем книгу из Избранного + # Удаляем книгу из Избранного def delete_book_from_favorites(self, name): if name in self.favorites: self.favorites.remove(name) - # получаем список Избранных книг + + # Получаем список Избранных книг def get_list_of_favorites_books(self): return self.favorites + + + + From fc60420ab89830a477c0c0d48bae5f36793aabc1 Mon Sep 17 00:00:00 2001 From: HeavyRain6647 Date: Fri, 31 Oct 2025 22:56:18 +0300 Subject: [PATCH 2/2] Update main.py --- main.py | 46 ++++++++++++---------------------------------- 1 file changed, 12 insertions(+), 34 deletions(-) diff --git a/main.py b/main.py index 25d737e..8c22888 100644 --- a/main.py +++ b/main.py @@ -1,63 +1,41 @@ class BooksCollector: def __init__(self): - self.books_genre = {} # словарь: название → жанр - self.favorites = [] # список избранных книг + self.books_genre = {} + self.favorites = [] self.genre = ['Фантастика', 'Ужасы', 'Детективы', 'Мультфильмы', 'Комедии'] - self.genre_age_rating = ['Ужасы', 'Детективы'] # жанры с возрастным ограничением + self.genre_age_rating = ['Ужасы', 'Детективы'] - # Добавляем новую книгу (без жанра) def add_new_book(self, name): - if not self.books_genre.get(name) and 0 < len(name) < 41: + if name and 0 < len(name) < 41 and name not in self.books_genre: self.books_genre[name] = '' - # Устанавливаем жанр книги (отдельная операция) def set_book_genre(self, name, genre): if name in self.books_genre and genre in self.genre: self.books_genre[name] = genre - - # Получаем жанр книги по названию def get_book_genre(self, name): - return self.books_genre.get(name, None) # None, если книги нет - + return self.books_genre.get(name) - # Список книг заданного жанра def get_books_with_specific_genre(self, genre): - books = [] - if genre in self.genre: - for name, book_genre in self.books_genre.items(): - if book_genre == genre: - books.append(name) - return books - - # Возвращаем полный словарь книг с жанрами + if genre not in self.genre: + return [] + return [name for name, book_genre in self.books_genre.items() + if book_genre == genre] + def get_books_genre(self): return self.books_genre - - # Книги, подходящие для детей (не в genre_age_rating) def get_books_for_children(self): - books = [] - for name, genre in self.books_genre.items(): - if genre not in self.genre_age_rating and genre in self.genre: - books.append(name) - return books + return [name for name, genre in self.books_genre.items() + if genre and genre not in self.genre_age_rating] - # Добавляем книгу в Избранное def add_book_in_favorites(self, name): if name in self.books_genre and name not in self.favorites: self.favorites.append(name) - # Удаляем книгу из Избранного def delete_book_from_favorites(self, name): if name in self.favorites: self.favorites.remove(name) - - # Получаем список Избранных книг def get_list_of_favorites_books(self): return self.favorites - - - -