Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 21, 2023 21:34:57

Takru
Зарегистрирован: 2023-02-21
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача по классам.

Добрый день.

Просьба помочь с решение задачи по классам

Напишите структуру класса, реализующую библиотеку. Классы:

1) Library - name, books = , authors =

2) Book - name, year, author (автор должен быть экземпляром класса Author)

3) Author - name, country, birthday, books =

Library class

Методы:

- new_book(name: str, year: int, author: Author) - возвращает экземпляр класса Book и добавляет книгу в список книг для текущей библиотеки.

- group_by_author(author: Author) - возвращает список всех книг, сгруппированных по указанному автору

- group_by_year(year: int) - возвращает список всех книг, сгруппированных по указанному году

 class Library:
    pass
 
class Book:
    pass
class Author:
    pass

Отредактировано Takru (Фев. 22, 2023 07:06:17)

Офлайн

#2 Фев. 22, 2023 00:10:28

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Задача по классам.

Для передачи кода на форуме используй теги code.

[code python]
тут пиши код
[/code]



Офлайн

#3 Март 31, 2023 15:02:25

pyser
Зарегистрирован: 2022-09-01
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача по классам.

 class Book:
    def __init__(self, name: str, year: int, author: 'Author'):
        self.name = name
        self.year = year
        self.author = author
class Author:
    def __init__(self, name: str, country: str, birthday: str):
        self.name = name
        self.country = country
        self.birthday = birthday
        self.books = []
class Library:
    def __init__(self, name: str):
        self.name = name
        self.books = []
        self.authors = []
    def new_book(self, name: str, year: int, author: 'Author') -> Book:
        book = Book(name, year, author)
        self.books.append(book)
        return book
    def group_by_author(self, author: 'Author') -> list:
        books_by_author = []
        for book in self.books:
            if book.author == author:
                books_by_author.append(book)
        return books_by_author
    def group_by_year(self, year: int) -> list:
        books_by_year = []
        for book in self.books:
            if book.year == year:
                books_by_year.append(book)
        return books_by_year

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version