Форум сайта python.su
Добрый день.
Просьба помочь с решение задачи по классам
Напишите структуру класса, реализующую библиотеку. Классы:
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)
Офлайн
Для передачи кода на форуме используй теги code.
[code python]
тут пиши код
[/code]
Офлайн
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
Офлайн