forked from djerdyi/qa_python_sprint_2
-
Notifications
You must be signed in to change notification settings - Fork 1
/
main.py
49 lines (39 loc) · 1.83 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# класс для работы с книгами
class BooksCollector:
def __init__(self):
self.books_rating = {}
self.favorites = []
# добавляем новую книгу и выставляем ей рейтинг 1
def add_new_book(self, name):
if not self.books_rating.get(name):
self.books_rating[name] = 1
# устанавливаем рейтинг книге (от 1 до 10)
def set_book_rating(self, name, rating):
if self.books_rating.get(name) and rating in range(1, 11):
self.books_rating[name] = rating
# получаем рейтинг книги по ее имени
def get_book_rating(self, name):
return self.books_rating.get(name)
# выводим список книг с определенным рейтингом
def get_books_with_specific_rating(self, rating):
books_with_specific_rating = []
if self.books_rating and rating in range(1, 11):
for name, book_rating in self.books_rating.items():
if book_rating == rating:
books_with_specific_rating.append(name)
return books_with_specific_rating
# получаем словарь books_rating
def get_books_rating(self):
return self.books_rating
# добавляем книгу в Избранное
def add_book_in_favorites(self, name):
if self.books_rating.get(name):
if 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