From cf928eb49b03abe79736e1913230d5ed0e8b8ac4 Mon Sep 17 00:00:00 2001 From: Nikita Budyldin Date: Tue, 26 Aug 2025 00:55:23 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=92=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index e69de29..69ba47e 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,14 @@ +Словарь books_genre, куда можно добавить пару Название книги: Жанр книги. +Список favorites, который содержит избранные книги. +Список genre, который содержит доступные жанры. +Список genre_age_rating, который содержит жанры с возрастным рейтингом. +Набор методов для работы со словарем books_genre и списком favorites: +add_new_book — добавляет новую книгу в словарь без указания жанра. Название книги может содержать максимум 40 символов. Одну и ту же книгу можно добавить только один раз. +set_book_genre — устанавливает жанр книги, если книга есть в books_genreи её жанр входит в списокgenre. +get_book_genre— выводит жанр книги по её имени. +get_books_with_specific_genre— выводит список книг с определённым жанром. +get_books_genre— выводит текущий словарь books_genre. +get_books_for_children — возвращает книги, которые подходят детям. У жанра книги не должно быть возрастного рейтинга. +add_book_in_favorites — добавляет книгу в избранное. Книга должна находиться в словаре books_genre. Повторно добавить книгу в избранное нельзя. +delete_book_from_favorites — удаляет книгу из избранного, если она там есть. +get_list_of_favorites_books — получает список избранных книг. \ No newline at end of file From ffb3bb8f6d2370edd0a5fef94b2d1e230b4c2a29 Mon Sep 17 00:00:00 2001 From: Nikita Budyldin Date: Tue, 26 Aug 2025 01:02:56 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9C=D0=B8=D1=81=D1=81=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D0=BC=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .coverage | Bin 53248 -> 53248 bytes __pycache__/main.cpython-313.pyc | Bin 3608 -> 3608 bytes __pycache__/test.cpython-313-pytest-8.4.1.pyc | Bin 21432 -> 23063 bytes test.py | 14 ++++++++++++++ 4 files changed, 14 insertions(+) diff --git a/.coverage b/.coverage index 0fba51692042a8a74a9bff8360e116aca04bd72d..8613ebcf24dd01af1ce02371cfab810e67faf266 100644 GIT binary patch delta 1639 zcmb8v-D_KQ7zgl^oFq?A((^n?miH!0PLkziNt*O!TUQjP8(xT@Ac{z!3$C(Gn$@Pv z6~q)lP!RD2^g=IsF$4ucTk%3cr|e?5DO6UGFm%<5y(o(qW)xcE$n}4z~^5*Sw zz+AAU&=%b>7u=-epc=F6pSL>IA??ESd}HQ(T~`#vLe~_!X0H2+?isVF%IwL>>Z1+w ze6>FF^vqM$#ajK$^u_8kwW+zqg|p}DQ;oU#nfk)icy+cmQy-pNbn=kv3SBpcd`;tH z>a6yEXRNq)NmmtpZ`O`NJFA`(Z31(&s_NRx30tB$ssE$U-}DFlPCwHR^etVX&uN9; zr)7GZUZof5Icm^3s?p>05ZzCA(>N63$5l&_m0(&`-0wtNxP<5ETJGAX9OcK!3ad)7$et$ zqm0TL9AT_gV4P7}hcQO61fz`gB8)KdEvPVZc_=f=Js4(Wb5LTmvd}ED(i>1<6v}Xz zVWc6?NE(o1qzuUJB`L@-G6guqFp`jFBn(I~HWH9zM7F_TgoBV^gu)PK#4~WP$%<`4 zjIkMmC?gt&Ax1C+5k?>gVTL~dA;z{Jf(&mP0*tm7{0!`XkKv2L0fw^+UIul*!|?dP zZEyBB9|?$~4gxY5V7q}Q*Cpa0f3mQYyVSwQP0EXQG4u;JRcE+yFVKbpw zdZ2QkY7VQ3re;wcmVTo3`dyvWFDv?==*Ii-J^Y1yl%qPmMcC>*Jzg zX-u?U92MnTBcfcsA}aUFqGmQXENo>;-c8*LD6O`CW^+RqF`u96bME{{yr``2$28) delta 27 hcmbOsGed^^GcPX}0}x0apRtkqIwNE9=EsbtJOF7s2h#um diff --git a/__pycache__/test.cpython-313-pytest-8.4.1.pyc b/__pycache__/test.cpython-313-pytest-8.4.1.pyc index 681e3d57bc3261851644cbb03218204b159cc04c..2795fd6b5a50cb17ad6d72c924147edfbc443f36 100644 GIT binary patch delta 3902 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 r98FObLO`*9*v+|Qa2^>Oni}=gDhqrW